diff options
Diffstat (limited to 'src/libtracker-data/tracker-db-manager.c')
-rw-r--r-- | src/libtracker-data/tracker-db-manager.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c index aff39bf81..efb0fa2fb 100644 --- a/src/libtracker-data/tracker-db-manager.c +++ b/src/libtracker-data/tracker-db-manager.c @@ -65,6 +65,8 @@ #define TRACKER_DB_VERSION_FILE "db-version.txt" #define TRACKER_DB_LOCALE_FILE "db-locale.txt" +#define TRACKER_VACUUM_CHECK_SIZE ((goffset) 4 * 1024 * 1024 * 1024) /* 4GB */ + #define IN_USE_FILENAME ".meta.isrunning" #define PARSER_SHA1_FILENAME "parser-sha1.txt" @@ -1163,3 +1165,15 @@ tracker_db_manager_tokenizer_update (TrackerDBManager *db_manager) g_free (filename); } + +void +tracker_db_manager_check_perform_vacuum (TrackerDBManager *db_manager) +{ + TrackerDBInterface *iface; + + if (tracker_file_get_size (db_manager->db.abs_filename) < TRACKER_VACUUM_CHECK_SIZE) + return; + + iface = tracker_db_manager_get_writable_db_interface (db_manager); + tracker_db_interface_execute_query (iface, NULL, "VACUUM"); +} |