-
Carlos Garnacho authored
Every other path that fetches the array of previous values for deletion also deletes the GValue from the cached array. This place handling our almost unused, non-standard INSERT OR REPLACE syntax, was missing this. Since the handling of FTS updates later poke the cached values to update all FTS columns, this may result in the deleted value being inserted again in the FTS tree, resulting in another unbalanced tree situation (as the actual column containing the data and the token tree for the corresponding content-less column in the FTS table differ). An example of this situation is: INSERT OR REPLACE { <a> a nie:InformationElement; nie:title 'title'; } INSERT OR REPLACE { <a> a nie:InformationElement; nie:title 'title2'; } SELECT ?u { ?u fts:match 'title' } Returning matches for the old value.
6067f032