summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbanoub Ghadban <abanoub.gdb@gmail.com>2021-08-04 12:11:29 +0200
committerAbanoub Ghadban <abanoub.gdb@gmail.com>2021-08-06 12:48:08 +0200
commited65749e0e4ce3d13397f74fb212920d97c93418 (patch)
treed9a4664888f41a92ef6f8df3f82d1e6270cb397c
parent87b89b99a3f0cdf708d6c5f85acd64f6bfd26ca1 (diff)
downloadtracker-ed65749e0e4ce3d13397f74fb212920d97c93418.tar.gz
tracker-db-manager: add "first_time" field
Adds "first_time" field to TrackerDBManager class. Removes "first_time" argument from tracker_db_manager_new() as we can access it through tracker_db_manager_is_first_time() Later, the first_time field will be checked before deleting the newly created db when error occures during the creation process
-rw-r--r--src/libtracker-data/tracker-data-manager.c3
-rw-r--r--src/libtracker-data/tracker-db-manager.c32
-rw-r--r--src/libtracker-data/tracker-db-manager.h3
-rw-r--r--src/tracker/tracker-export.c3
4 files changed, 22 insertions, 19 deletions
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index fce5b44cc..391ac6d79 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -3810,7 +3810,6 @@ tracker_data_manager_initable_init (GInitable *initable,
manager->db_manager = tracker_db_manager_new (manager->flags,
manager->cache_location,
- &is_create,
FALSE,
manager->select_cache_size,
manager->update_cache_size,
@@ -3823,6 +3822,8 @@ tracker_data_manager_initable_init (GInitable *initable,
return FALSE;
}
+ is_create = tracker_db_manager_is_first_time (manager->db_manager);
+
g_signal_connect (manager->db_manager, "setup-interface",
G_CALLBACK (setup_interface_cb), manager);
g_signal_connect (manager->db_manager, "update-interface",
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c
index 8485af62e..26d38fe19 100644
--- a/src/libtracker-data/tracker-db-manager.c
+++ b/src/libtracker-data/tracker-db-manager.c
@@ -128,6 +128,7 @@ struct _TrackerDBManager {
TrackerDBManagerFlags flags;
guint s_cache_size;
guint u_cache_size;
+ gboolean first_time;
gpointer vtab_data;
@@ -152,6 +153,12 @@ static TrackerDBInterface *tracker_db_manager_create_db_interface (TrackerDBMa
static TrackerDBInterface * init_writable_db_interface (TrackerDBManager *db_manager);
+gboolean
+tracker_db_manager_is_first_time (TrackerDBManager *db_manager)
+{
+ return db_manager->first_time;
+}
+
TrackerDBManagerFlags
tracker_db_manager_get_flags (TrackerDBManager *db_manager,
guint *select_cache_size,
@@ -513,16 +520,15 @@ db_check_integrity (TrackerDBManager *db_manager)
TrackerDBManager *
tracker_db_manager_new (TrackerDBManagerFlags flags,
- GFile *cache_location,
- gboolean *first_time,
- gboolean shared_cache,
- guint select_cache_size,
- guint update_cache_size,
- TrackerBusyCallback busy_callback,
- gpointer busy_user_data,
+ GFile *cache_location,
+ gboolean shared_cache,
+ guint select_cache_size,
+ guint update_cache_size,
+ TrackerBusyCallback busy_callback,
+ gpointer busy_user_data,
GObject *iface_data,
gpointer vtab_data,
- GError **error)
+ GError **error)
{
TrackerDBManager *db_manager;
TrackerDBVersion version;
@@ -534,10 +540,8 @@ tracker_db_manager_new (TrackerDBManagerFlags flags,
db_manager = g_object_new (TRACKER_TYPE_DB_MANAGER, NULL);
db_manager->vtab_data = vtab_data;
- /* First set defaults for return values */
- if (first_time) {
- *first_time = FALSE;
- }
+ /* Set default value for first_time */
+ db_manager->first_time = FALSE;
/* Set up locations */
db_manager->flags = flags;
@@ -618,9 +622,7 @@ tracker_db_manager_new (TrackerDBManagerFlags flags,
}
if (need_to_create) {
- if (first_time) {
- *first_time = TRUE;
- }
+ db_manager->first_time = TRUE;
if ((db_manager->flags & TRACKER_DB_MANAGER_IN_MEMORY) == 0 &&
!tracker_file_system_has_enough_space (db_manager->data_dir, TRACKER_DB_MIN_REQUIRED_SPACE, TRUE)) {
diff --git a/src/libtracker-data/tracker-db-manager.h b/src/libtracker-data/tracker-db-manager.h
index b8fd04aa4..3147fda4c 100644
--- a/src/libtracker-data/tracker-db-manager.h
+++ b/src/libtracker-data/tracker-db-manager.h
@@ -54,7 +54,6 @@ gboolean tracker_db_manager_db_exists (GFile *cache_loca
TrackerDBManager *tracker_db_manager_new (TrackerDBManagerFlags flags,
GFile *cache_location,
- gboolean *first_time,
gboolean shared_cache,
guint select_cache_size,
guint update_cache_size,
@@ -69,6 +68,8 @@ TrackerDBInterface *tracker_db_manager_get_writable_db_interface (TrackerDBManag
gboolean tracker_db_manager_has_enough_space (TrackerDBManager *db_manager);
+gboolean tracker_db_manager_is_first_time (TrackerDBManager *db_manager);
+
TrackerDBManagerFlags
tracker_db_manager_get_flags (TrackerDBManager *db_manager,
guint *select_cache_size,
diff --git a/src/tracker/tracker-export.c b/src/tracker/tracker-export.c
index ead5de036..38c05f941 100644
--- a/src/tracker/tracker-export.c
+++ b/src/tracker/tracker-export.c
@@ -390,8 +390,7 @@ export_2to3_with_query (const gchar *query,
db_manager = tracker_db_manager_new (TRACKER_DB_MANAGER_READONLY |
TRACKER_DB_MANAGER_SKIP_VERSION_CHECK,
- store,
- NULL, FALSE,
+ store, FALSE,
1, 1, NULL, NULL, NULL, NULL, &inner_error);
if (inner_error) {