diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2018-08-27 21:28:27 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2018-08-30 00:43:14 +0200 |
commit | aee677be85414089fd60b26663fff3cea14c19ac (patch) | |
tree | 2f86c4c947c4ee5c260b87609a00eb3107c39788 | |
parent | d33a528604dccfa9f035ec70e100a9f554be4192 (diff) | |
download | tracker-aee677be85414089fd60b26663fff3cea14c19ac.tar.gz |
libtracker-data: Keep internal resources out of refcount checks
Whatever it happens, we don't want to break the database that bad.
-rw-r--r-- | src/libtracker-data/tracker-data-manager.c | 6 |
1 files 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); |