tracker r1955 - in branches/indexer-split: . src/trackerd



Author: pvanhoof
Date: Mon Jul 28 15:09:32 2008
New Revision: 1955
URL: http://svn.gnome.org/viewvc/tracker?rev=1955&view=rev

Log:
2008-07-28  Philip Van Hoof  <pvanhoof gnome org>

        * src/trackerd/tracker-index-manager.c:
        * src/trackerd/tracker-main.c:
        * src/trackerd/tracker-index-manager.h:

        Removing the QDBM indexes in case of force-reindex



Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/trackerd/tracker-index-manager.c
   branches/indexer-split/src/trackerd/tracker-index-manager.h
   branches/indexer-split/src/trackerd/tracker-main.c

Modified: branches/indexer-split/src/trackerd/tracker-index-manager.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-index-manager.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-index-manager.c	Mon Jul 28 15:09:32 2008
@@ -64,7 +64,7 @@
 }
 
 static gboolean
-initialize_indexes (void)
+initialize_indexes (TrackerIndexManagerFlags flags)
 {
 	gchar *final_index_name;
 
@@ -72,7 +72,12 @@
 	final_index_name = g_build_filename (index_manager_data_dir,
                                              "file-index-final", 
                                              NULL);
-	
+
+	if (g_file_test (final_index_name, G_FILE_TEST_EXISTS) && 
+	    (flags & TRACKER_INDEX_MANAGER_FORCE_REINDEX)) {
+		    g_unlink (final_index_name);
+	}
+
 	if (g_file_test (final_index_name, G_FILE_TEST_EXISTS) && 
 	    !tracker_index_manager_has_tmp_merge_files (TRACKER_INDEX_TYPE_FILES)) {
 		gchar *file_index_name;
@@ -93,7 +98,12 @@
 	final_index_name = g_build_filename (index_manager_data_dir, 
 					     "email-index-final", 
 					     NULL);
-	
+
+	if (g_file_test (final_index_name, G_FILE_TEST_EXISTS) && 
+	    (flags & TRACKER_INDEX_MANAGER_FORCE_REINDEX)) {
+		    g_unlink (final_index_name);
+	}
+
 	if (g_file_test (final_index_name, G_FILE_TEST_EXISTS) && 
 	    !tracker_index_manager_has_tmp_merge_files (TRACKER_INDEX_TYPE_EMAILS)) {
 		gchar *file_index_name;
@@ -115,9 +125,10 @@
 }
 
 gboolean
-tracker_index_manager_init (const gchar *data_dir,
-                            gint         min_bucket, 
-                            gint         max_bucket)
+tracker_index_manager_init (TrackerIndexManagerFlags flags,
+                            const gchar             *data_dir,
+                            gint                     min_bucket, 
+                            gint                     max_bucket)
 {
         if (initialized) {
                 return TRUE;
@@ -130,7 +141,7 @@
 
         initialized = TRUE;
 
-        return initialize_indexes ();
+        return initialize_indexes (flags);
 }
 
 void

Modified: branches/indexer-split/src/trackerd/tracker-index-manager.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-index-manager.h	(original)
+++ branches/indexer-split/src/trackerd/tracker-index-manager.h	Mon Jul 28 15:09:32 2008
@@ -34,9 +34,14 @@
 	TRACKER_INDEX_TYPE_FILES_UPDATE
 } TrackerIndexType;
 
-gboolean      tracker_index_manager_init                (const gchar      *data_dir,
-                                                         gint              min_bucket,
-                                                         gint              max_bucket);
+typedef enum {
+	TRACKER_INDEX_MANAGER_FORCE_REINDEX    = 1 << 1,
+} TrackerIndexManagerFlags;
+
+gboolean      tracker_index_manager_init                (TrackerIndexManagerFlags flags,
+							 const gchar             *data_dir,
+                                                         gint                     min_bucket,
+                                                         gint                     max_bucket);
 void          tracker_index_manager_shutdown            (void);
 gchar *       tracker_index_manager_get_filename        (TrackerIndexType  index);
 TrackerIndex *tracker_index_manager_get_index           (TrackerIndexType  index);

Modified: branches/indexer-split/src/trackerd/tracker-main.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-main.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-main.c	Mon Jul 28 15:09:32 2008
@@ -528,18 +528,19 @@
 gint
 main (gint argc, gchar *argv[])
 {
-	GOptionContext        *context = NULL;
-	GOptionGroup          *group;
-	GError                *error = NULL;
-        TrackerConfig         *config;
-        TrackerLanguage       *language;
-        TrackerHal            *hal;
-	TrackerProcessor      *processor;
-        TrackerIndex          *file_index;
-        TrackerIndex          *file_update_index;
-        TrackerIndex          *email_index;
-	TrackerRunningLevel    runtime_level;
-	TrackerDBManagerFlags  flags;
+	GOptionContext          *context = NULL;
+	GOptionGroup            *group;
+	GError                  *error = NULL;
+        TrackerConfig           *config;
+        TrackerLanguage         *language;
+        TrackerHal              *hal;
+	TrackerProcessor        *processor;
+        TrackerIndex            *file_index;
+        TrackerIndex            *file_update_index;
+        TrackerIndex            *email_index;
+	TrackerRunningLevel      runtime_level;
+	TrackerDBManagerFlags    flags;
+	TrackerIndexManagerFlags iflags = 0;
 
         g_type_init ();
         
@@ -685,6 +686,7 @@
 
 	if (force_reindex) {
 		flags |= TRACKER_DB_MANAGER_FORCE_REINDEX;
+		iflags |= TRACKER_INDEX_MANAGER_FORCE_REINDEX;
 	}
 
 	if (tracker_config_get_low_memory_mode (config)) {
@@ -692,7 +694,7 @@
 	}
 
 	tracker_db_manager_init (flags, &is_first_time_index);
-	if (!tracker_index_manager_init (tracker_get_data_dir (), 
+	if (!tracker_index_manager_init (iflags, tracker_get_data_dir (), 
 					 tracker_config_get_min_bucket_count (config),
 					 tracker_config_get_max_bucket_count (config))) {
 		return EXIT_FAILURE;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]