summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-12-23 16:35:12 +0000
committerCarlos Garnacho <carlosg@gnome.org>2020-12-23 16:35:12 +0000
commit04df69921f2281f970e325ed16c1f4c296da0c9a (patch)
treecd5eae959bd59bcc7586179bb2c42db89ff5d5e1
parent340634d88a90bdf0e4d01ba50b9a639d8fa659af (diff)
parent29a6650f698bbd449e11fc0481269cd8f0593f27 (diff)
downloadtracker-04df69921f2281f970e325ed16c1f4c296da0c9a.tar.gz
Merge branch 'fts-fix-backport' into 'tracker-2.3'
FTS fix backport for tracker-2.3 See merge request GNOME/tracker!363
-rw-r--r--src/libtracker-data/tracker-data-update.c1
-rw-r--r--src/libtracker-data/tracker-db-interface-sqlite.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index e2f46685e..19cae25f9 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -2244,6 +2244,7 @@ cache_delete_resource_type_full (TrackerData *data,
g_hash_table_size (data->resource_buffer->tables) == 0) {
#if HAVE_TRACKER_FTS
tracker_db_interface_sqlite_fts_delete_id (iface, data->resource_buffer->id);
+ data->resource_buffer->fts_updated = TRUE;
#endif
/* skip subclass query when deleting whole resource
to improve performance */
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c b/src/libtracker-data/tracker-db-interface-sqlite.c
index da88080ed..cdeb960e7 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -1770,7 +1770,8 @@ tracker_db_interface_sqlite_fts_create_delete_all_query (TrackerDBInterface *db_
g_string_append_printf (insert_str,
"INSERT INTO fts5 (fts5, rowid %s) "
"SELECT 'delete', rowid %s FROM fts_view "
- "WHERE rowid = ?",
+ "WHERE rowid = ? AND COALESCE(NULL %s) IS NOT NULL",
+ db_interface->fts_properties,
db_interface->fts_properties,
db_interface->fts_properties);
return g_string_free (insert_str, FALSE);