From aee677be85414089fd60b26663fff3cea14c19ac Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 27 Aug 2018 21:28:27 +0200 Subject: libtracker-data: Keep internal resources out of refcount checks Whatever it happens, we don't want to break the database that bad. --- src/libtracker-data/tracker-data-manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c index 4a9722c2a..d9a03c966 100644 --- a/src/libtracker-data/tracker-data-manager.c +++ b/src/libtracker-data/tracker-data-manager.c @@ -4803,7 +4803,8 @@ data_manager_check_perform_cleanup (TrackerDataManager *manager) count = 0; stmt = tracker_db_interface_create_statement (iface, TRACKER_DB_STATEMENT_CACHE_TYPE_NONE, NULL, "SELECT COUNT(*) FROM Resource WHERE Refcount <= 0 " - "AND Resource.ID NOT IN (SELECT ID FROM Graph)"); + "AND Resource.ID > %d AND Resource.ID NOT IN (SELECT ID FROM Graph)", + TRACKER_ONTOLOGIES_MAX_ID); if (stmt) { cursor = tracker_db_statement_start_cursor (stmt, NULL); g_object_unref (stmt); @@ -4837,7 +4838,8 @@ tracker_data_manager_dispose (GObject *object) stmt = tracker_db_interface_create_statement (iface, TRACKER_DB_STATEMENT_CACHE_TYPE_UPDATE, &error, "DELETE FROM Resource WHERE Refcount <= 0 " - "AND Resource.ID NOT IN (SELECT ID FROM Graph)"); + "AND Resource.ID > %d AND Resource.ID NOT IN (SELECT ID FROM Graph)", + TRACKER_ONTOLOGIES_MAX_ID); if (stmt) { tracker_db_statement_execute (stmt, &error); -- cgit v1.2.1