[tracker/tracker-0.6] Fixes NB#126283, [AF checked] Top level category statistics show 2x...



commit a4bb824dfcffecd43a1df73cb3aa79473816ba86
Author: Martyn Russell <martyn lanedo com>
Date:   Mon Oct 12 16:11:24 2009 +0100

    Fixes NB#126283, [AF checked]  Top level category statistics show 2x...

 src/libtracker-db/tracker-db-manager.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-db/tracker-db-manager.c b/src/libtracker-db/tracker-db-manager.c
index b219d4e..4dd932d 100644
--- a/src/libtracker-db/tracker-db-manager.c
+++ b/src/libtracker-db/tracker-db-manager.c
@@ -2305,8 +2305,6 @@ tracker_db_manager_init (TrackerDBManagerFlags	flags,
 		 * new databases.
 		 */
 		tracker_ontology_shutdown ();
-
-		/* Make sure we initialize all other modules we depend on */
 		tracker_ontology_init ();
 
 		/* Now create the databases and close them */
@@ -2326,6 +2324,13 @@ tracker_db_manager_init (TrackerDBManagerFlags	flags,
 				dbs[i].iface = NULL;
 			}
 		}
+
+		/* Reset ontology - we do this so we repopulate our
+		 * ontology caches with the db_interface_create()
+		 * calls below.
+		 */
+		tracker_ontology_shutdown ();
+		tracker_ontology_init ();
 	} else {
 		if ((flags & TRACKER_DB_MANAGER_FORCE_NO_REINDEX) && need_reindex) {
 			g_message ("Reindex was needed, but has been forbidden by NO_REINDEX flag");
@@ -2341,7 +2346,11 @@ tracker_db_manager_init (TrackerDBManagerFlags	flags,
 			g_unlink (dbs[TRACKER_DB_CACHE].abs_filename);
 		}
 
-		/* Make sure we initialize all other modules we depend on */
+		/* In cases where we re-init this module, make sure
+		 * we have cleaned up the ontology before we load all
+		 * new databases.
+		 */
+		tracker_ontology_shutdown ();
 		tracker_ontology_init ();
 	}
 



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