tracker r1492 - in branches/indexer-split: . data data/services src/trackerd



Author: pvanhoof
Date: Tue May 27 09:13:19 2008
New Revision: 1492
URL: http://svn.gnome.org/viewvc/tracker?rev=1492&view=rev

Log:
2008-05-27  Philip Van Hoof  <pvanhoof gnome org>

        * Merged with indexer-split with xesam-support
         svn merge -r 1487:1491 ../indexer-split



Added:
   branches/indexer-split/src/trackerd/tracker-xesam-ontology.c
      - copied unchanged from r1491, /branches/xesam-support/src/trackerd/tracker-xesam-ontology.c
   branches/indexer-split/src/trackerd/tracker-xesam-ontology.h
      - copied unchanged from r1491, /branches/xesam-support/src/trackerd/tracker-xesam-ontology.h
Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/data/services/xesam-metadata.mmapping
   branches/indexer-split/data/sqlite-cache.sql
   branches/indexer-split/data/sqlite-tracker.sql
   branches/indexer-split/src/trackerd/Makefile.am
   branches/indexer-split/src/trackerd/tracker-db-manager.c
   branches/indexer-split/src/trackerd/tracker-db-manager.h
   branches/indexer-split/src/trackerd/tracker-db-sqlite.c
   branches/indexer-split/src/trackerd/tracker-db-sqlite.h
   branches/indexer-split/src/trackerd/tracker-dbus-xesam.c
   branches/indexer-split/src/trackerd/tracker-dbus-xesam.h
   branches/indexer-split/src/trackerd/tracker-dbus.c
   branches/indexer-split/src/trackerd/tracker-dbus.h
   branches/indexer-split/src/trackerd/tracker-main.c
   branches/indexer-split/src/trackerd/tracker-xesam-live-search.c
   branches/indexer-split/src/trackerd/tracker-xesam-session.c
   branches/indexer-split/src/trackerd/tracker-xesam.c

Modified: branches/indexer-split/data/services/xesam-metadata.mmapping
==============================================================================
--- branches/indexer-split/data/services/xesam-metadata.mmapping	(original)
+++ branches/indexer-split/data/services/xesam-metadata.mmapping	Tue May 27 09:13:19 2008
@@ -27,7 +27,7 @@
 MetaName=
 
 [xesam:artist]
-MetaName=
+MetaName=Audio:Artist
 
 
 [xesam:asText]

Modified: branches/indexer-split/data/sqlite-cache.sql
==============================================================================
--- branches/indexer-split/data/sqlite-cache.sql	(original)
+++ branches/indexer-split/data/sqlite-cache.sql	Tue May 27 09:13:19 2008
@@ -78,7 +78,8 @@
 
 CREATE TABLE LiveSearches
 (
-	ID		Integer primary key not null,
 	ServiceID	Integer not null,
-	SearchID	Text
+	SearchID	Text,
+
+	Unique (ServiceID, SearchID)
 );

Modified: branches/indexer-split/data/sqlite-tracker.sql
==============================================================================
--- branches/indexer-split/data/sqlite-tracker.sql	(original)
+++ branches/indexer-split/data/sqlite-tracker.sql	Tue May 27 09:13:19 2008
@@ -21,9 +21,10 @@
 /* This should become a TEMPORARY table */
 CREATE TABLE LiveSearches
 (
-	ID		Integer primary key not null,
 	ServiceID	Integer not null,
-	SearchID	Text
+	SearchID	Text,
+
+	Unique (ServiceID, SearchID)
 );
 
 /* store volume and HAL info here for files */

Modified: branches/indexer-split/src/trackerd/Makefile.am
==============================================================================
--- branches/indexer-split/src/trackerd/Makefile.am	(original)
+++ branches/indexer-split/src/trackerd/Makefile.am	Tue May 27 09:13:19 2008
@@ -136,6 +136,8 @@
 	tracker-status.h						\
 	tracker-xesam.h							\
 	tracker-xesam.c							\
+	tracker-xesam-ontology.c					\
+	tracker-xesam-ontology.h					\
 	tracker-xesam-query.c						\
 	tracker-xesam-query.h						\
 	tracker-xesam-session.c						\

Modified: branches/indexer-split/src/trackerd/tracker-db-manager.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db-manager.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-db-manager.c	Tue May 27 09:13:19 2008
@@ -24,6 +24,8 @@
 #define TRACKER_DB_MANAGER_FILE_META_FILENAME          "file-meta.db"
 #define TRACKER_DB_MANAGER_EMAIL_CONTENTS_FILENAME     "email-contents.db"
 #define TRACKER_DB_MANAGER_EMAIL_META_FILENAME         "email-meta.db"
+#define TRACKER_DB_MANAGER_XESAM_FILENAME              "xesam.db"
+
 
 #define TRACKER_DB_MANAGER_COMMON_NAME             "common"
 #define TRACKER_DB_MANAGER_CACHE_NAME              "cache"
@@ -31,6 +33,7 @@
 #define TRACKER_DB_MANAGER_FILE_META_NAME          NULL
 #define TRACKER_DB_MANAGER_EMAIL_CONTENTS_NAME     NULL
 #define TRACKER_DB_MANAGER_EMAIL_META_NAME         NULL
+#define TRACKER_DB_MANAGER_XESAM_NAME              NULL
 
 
 static gboolean initialized = FALSE;
@@ -108,6 +111,15 @@
          512,
          TRACKER_DB_PAGE_SIZE_DEFAULT,
          FALSE},
+
+        {TRACKER_DB_XESAM,
+         TRACKER_DB_MANAGER_XESAM_FILENAME,
+         TRACKER_DB_LOC_DATA_DIR,
+         NULL,
+         NULL,
+         512,
+         TRACKER_DB_PAGE_SIZE_DEFAULT,
+         TRUE},
 };
 
 TrackerDBDefinition *tracker_dbs [TRACKER_DB_END];

Modified: branches/indexer-split/src/trackerd/tracker-db-manager.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db-manager.h	(original)
+++ branches/indexer-split/src/trackerd/tracker-db-manager.h	Tue May 27 09:13:19 2008
@@ -33,6 +33,7 @@
         TRACKER_DB_FILE_CONTENTS,
         TRACKER_DB_EMAIL_META,
         TRACKER_DB_EMAIL_CONTENTS,
+	TRACKER_DB_XESAM,
         TRACKER_DB_END
 } TrackerDatabase;
 

Modified: branches/indexer-split/src/trackerd/tracker-db-sqlite.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db-sqlite.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-db-sqlite.c	Tue May 27 09:13:19 2008
@@ -49,6 +49,7 @@
 #include "tracker-query-tree.h"
 #include "tracker-xesam.h"
 #include "tracker-main.h"
+#include "tracker-xesam-ontology.h"
 
 #define MAX_INDEX_TEXT_LENGTH 1048576
 #define MAX_TEXT_BUFFER       65567
@@ -971,46 +972,62 @@
 DBConnection *
 tracker_db_connect_xesam ()
 {
-
 	DBConnection *db_con;
-	DBConnection *blob_db_con = NULL;
-	Indexer *word_index_db_con = NULL;
+	TrackerDBInterface *iface;
+	gboolean create_table = FALSE;
 
-	DBConnection *common_db_con = NULL;
+	create_table = !tracker_db_manager_file_exists (TRACKER_DB_XESAM);
 
-	DBConnection *emails_blob_db_con = NULL;
-	DBConnection *emails_db_con= NULL;
-	Indexer *email_word_index_db_con= NULL;
+	iface = open_db_interface (TRACKER_DB_XESAM);
 
-	db_con = tracker_db_connect_file_meta ();
-	emails_db_con = tracker_db_connect_email_meta ();
+	if (create_table) {
+		g_message ("Creating xesam database... %s",
+			     tracker_db_manager_get_file (TRACKER_DB_XESAM));
 
-	blob_db_con = tracker_db_connect_file_content ();
-	emails_blob_db_con = tracker_db_connect_email_content ();
-	common_db_con  = tracker_db_connect_common ();
 
-	word_index_db_con = tracker->file_index;
-	email_word_index_db_con = tracker->email_index;
+		load_sql_file (iface, "sqlite-xesam.sql");
+		
+		tracker_db_load_xesam_service_file (iface, "xesam.metadata");
+		tracker_db_load_xesam_service_file (iface, "xesam-convenience.metadata");
+		tracker_db_load_xesam_service_file (iface, "xesam-virtual.metadata");
+		tracker_db_load_xesam_service_file (iface, "xesam.service");
+		tracker_db_load_xesam_service_file (iface, "xesam-convenience.service");
+		tracker_db_load_xesam_service_file (iface, "xesam-service.smapping");
+		tracker_db_load_xesam_service_file (iface, "xesam-metadata.mmapping");
+		
+		tracker_db_create_xesam_lookup(iface);
+	}
 
-	db_con->cache = tracker_db_connect_cache ();
+	tracker_db_exec_no_reply (iface, 
+				  "ATTACH '%s' as %s",
+				  tracker_db_manager_get_file (TRACKER_DB_FILE_META),
+				  tracker_db_manager_get_name (TRACKER_DB_FILE_META));
 
-	db_con->blob = blob_db_con;
-	db_con->data = db_con;
-	db_con->emails = emails_db_con;
-	db_con->common = common_db_con;
-	db_con->word_index = word_index_db_con;
+	tracker_db_exec_no_reply (iface, 
+				  "ATTACH '%s' as %s",
+				  tracker_db_manager_get_file (TRACKER_DB_EMAIL_META),
+				  tracker_db_manager_get_name (TRACKER_DB_EMAIL_META));
 
-	emails_db_con->common = common_db_con;
-	emails_db_con->blob = emails_blob_db_con;
-	emails_db_con->data = db_con;
-	emails_db_con->word_index = email_word_index_db_con;
-	emails_db_con->cache = db_con->cache;
+	tracker_db_exec_no_reply (iface, 
+				  "ATTACH '%s' as %s",
+				  tracker_db_manager_get_file (TRACKER_DB_COMMON),
+				  tracker_db_manager_get_name (TRACKER_DB_COMMON));
 
-	tracker_db_attach_db (db_con, TRACKER_DB_COMMON);
-	tracker_db_attach_db (db_con, TRACKER_DB_CACHE);
-	
-	return db_con;
+	tracker_db_exec_no_reply (iface, 
+				  "ATTACH '%s' as %s",
+				  tracker_db_manager_get_file (TRACKER_DB_CACHE),
+				  tracker_db_manager_get_name (TRACKER_DB_CACHE));
 
+	// Create the static data (hashtables etc)
+
+
+
+	// FIXME This function should eventually return DB interface, not connection.
+
+	db_con = g_new0 (DBConnection, 1);
+	db_con->db = iface;
+
+	return db_con;
 }
 
 void
@@ -1137,18 +1154,6 @@
 		load_service_description_file (db_con->db, "image.metadata");	
 		load_service_description_file (db_con->db, "video.metadata");	
 
-		load_sql_file (db_con->db, "sqlite-xesam.sql");
-
-		tracker_db_load_xesam_service_file (db_con, "xesam.metadata");
-		tracker_db_load_xesam_service_file (db_con, "xesam-convenience.metadata");
-		tracker_db_load_xesam_service_file (db_con, "xesam-virtual.metadata");
-		tracker_db_load_xesam_service_file (db_con, "xesam.service");
-		tracker_db_load_xesam_service_file (db_con, "xesam-convenience.service");
-		tracker_db_load_xesam_service_file (db_con, "xesam-service.smapping");
-		tracker_db_load_xesam_service_file (db_con, "xesam-metadata.mmapping");
-
-		tracker_db_create_xesam_lookup(db_con);
-
 		tracker_db_exec_no_reply (db_con->db, "ANALYZE");
 	}
 
@@ -1510,18 +1515,6 @@
 
 	load_service_description_file (db_con->db, "default.service");
 
-	load_sql_file (db_con->db, "sqlite-xesam.sql");
-
-	tracker_db_load_xesam_service_file (db_con, "xesam.metadata");
-	tracker_db_load_xesam_service_file (db_con, "xesam-convenience.metadata");
-	tracker_db_load_xesam_service_file (db_con, "xesam-virtual.metadata");
-	tracker_db_load_xesam_service_file (db_con, "xesam.service");
-	tracker_db_load_xesam_service_file (db_con, "xesam-convenience.service");
-	tracker_db_load_xesam_service_file (db_con, "xesam-service.smapping");
-	tracker_db_load_xesam_service_file (db_con, "xesam-metadata.mmapping");
-
-	tracker_db_create_xesam_lookup(db_con);	
-
 	tracker_db_exec_no_reply (db_con->db, "ANALYZE");
 	
 	tracker_db_close (db_con->db);
@@ -3312,7 +3305,7 @@
 	 * FROM LiveSearches 
 	 * WHERE SearchID = ? */
 
-	return tracker_exec_proc (db_con->cache, "GetLiveSearchHitCount", search_id, NULL);
+	return tracker_db_exec_proc (db_con->db, "GetLiveSearchHitCount", search_id, NULL);
 }
 
 
@@ -3325,7 +3318,7 @@
 	 * AND X.SearchID = ? 
 	 * AND E.EventType IS 'Delete' */
 
-	return tracker_exec_proc (db_con->cache, "GetLiveSearchDeletedIDs", search_id, NULL);
+	return tracker_db_exec_proc (db_con->db, "GetLiveSearchDeletedIDs", search_id, NULL);
 }
 
 void
@@ -3335,7 +3328,7 @@
 	 * FROM LiveSearches as X 
 	 * WHERE E.SearchID = ? */
 
-	tracker_exec_proc_no_reply (db_con->cache->db, "LiveSearchStopSearch", search_id, NULL);
+	tracker_exec_proc_no_reply (db_con->db, "LiveSearchStopSearch", search_id, NULL);
 }
 
 
@@ -3346,9 +3339,13 @@
 	 * INTO LiveSearches
 	 * SELECT ID, SEARCH_ID FROM_QUERY WHERE_QUERY */
 
-	tracker_db_exec_no_reply (db_con->db,  NULL,
-		"INSERT INTO LiveSearches SELECT ID, '%s' %s %s",
+	g_debug ("INSERT INTO LiveSearches SELECT S.ID, '%s' %s %s",
+			search_id, from_query, where_query);
+
+	tracker_db_exec_no_reply (db_con->db,
+		"INSERT INTO LiveSearches SELECT S.ID, '%s' %s %s",
 			search_id, from_query, where_query);
+
 }
 
 TrackerDBResultSet* 
@@ -3370,6 +3367,8 @@
 	 *      OR X.EventType IS 'Update')
 	 **/
 
+	g_debug("tracker_db_get_live_search_new_ids");
+
 	return tracker_db_exec (db_con->db,
 	/* COLUMNS */      "SELECT E.ServiceID, E.EventType%s%s "
 	/* FROM_QUERY */   "%s%s LiveSearches as X, Events as E "
@@ -3400,15 +3399,15 @@
 TrackerDBResultSet* 
 tracker_db_get_events (DBConnection *db_con)
 {
-	tracker_exec_proc_no_reply (db_con->cache->db, "SetEventsBeingHandled", NULL);
-	return tracker_exec_proc (db_con->cache, "GetEvents", NULL);
+	tracker_exec_proc_no_reply (db_con->db, "SetEventsBeingHandled", NULL);
+	return tracker_db_exec_proc (db_con->db, "GetEvents", NULL);
 }
 
 
 void 
 tracker_db_delete_handled_events (DBConnection *db_con)
 {
-	tracker_exec_proc_no_reply (db_con->cache->db, "DeleteHandledEvents", NULL);
+	tracker_exec_proc_no_reply (db_con->db, "DeleteHandledEvents", NULL);
 }
 
 static guint32
@@ -3419,7 +3418,9 @@
 	int	   i;
 	guint32	   id = 0;
 
-	result_set = tracker_exec_proc (db_con->common, "GetNewEventID", NULL);
+	// FIXME We now assume we get the standard db_con, not xesam one.
+
+	result_set = tracker_db_exec_proc (db_con->common->db, "GetNewEventID", NULL);
 
 	if (!result_set) {
 		g_critical ("Could not create event, GetNewEventID failed");
@@ -3432,13 +3433,13 @@
 	i++;
 	eid = tracker_int_to_string (i);
 
-	result_set = tracker_exec_proc (db_con->common, "UpdateNewEventID", eid, NULL);
+	result_set = tracker_db_exec_proc (db_con->common->db, "UpdateNewEventID", eid, NULL);
 	if (result_set)
 		g_object_unref (result_set);
 
 	/* Uses the Events table */
-	result_set = tracker_exec_proc (db_con->cache, "CreateEvent", eid, service_id_str, type, NULL);
-	id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (db_con->db));
+	result_set = tracker_db_exec_proc (db_con->common->db, "CreateEvent", eid, service_id_str, type, NULL);
+	id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (db_con->common->db));
 	if (result_set)
 		g_object_unref (result_set);
 
@@ -4577,6 +4578,7 @@
 
 	tracker_field_set_id (field_def, tracker_int_to_string (id));
 	tracker_field_set_name (field_def, name);
+	tracker_field_set_data_type (field_def, field_type);
 	tracker_field_set_field_name (field_def, field_name);
 	tracker_field_set_weight (field_def, weight);
 	tracker_field_set_embedded (field_def, embedded);
@@ -4727,12 +4729,12 @@
 // FIXME Do this in a non-retarded way
 
 gboolean
-get_service_mapping (DBConnection *db_con, const char *type, GList **list)
+get_service_mapping(TrackerDBInterface *iface, const char *type, GList **list)
 {
 	TrackerDBResultSet *result_set;
 	gboolean valid = TRUE;
 
-	result_set = tracker_exec_proc (db_con, "GetXesamServiceMappings", type, NULL);
+	result_set = tracker_db_exec_proc (iface, "GetXesamServiceMappings", type, NULL);
 
 	if (result_set) {
 		while (valid) {
@@ -4750,7 +4752,7 @@
 		g_object_unref (result_set);
 	}
 
-	result_set = tracker_exec_proc (db_con, "GetXesamServiceChildren", type, NULL);
+	result_set = tracker_db_exec_proc (iface, "GetXesamServiceChildren", type, NULL);
 	valid = TRUE;
 
 	if (result_set) {
@@ -4758,7 +4760,7 @@
 			gchar *st;
 			
 			tracker_db_result_set_get (result_set, 0, &st, -1);
-			get_service_mapping(db_con, st ,list);
+			get_service_mapping(iface, st ,list);
 			
 			valid = tracker_db_result_set_iter_next (result_set);
 			g_free (st);
@@ -4771,12 +4773,12 @@
 }
 
 gboolean
-get_metadata_mapping(DBConnection *db_con, const char *type, GList **list)
+get_metadata_mapping(TrackerDBInterface *iface, const char *type, GList **list)
 {
 	TrackerDBResultSet *result_set;
 	gboolean valid = TRUE;
 
-	result_set = tracker_exec_proc (db_con, "GetXesamMetaDataMappings", type, NULL);
+	result_set = tracker_db_exec_proc (iface, "GetXesamMetaDataMappings", type, NULL);
 
 	if (result_set) {
 		while (valid) {
@@ -4794,7 +4796,7 @@
 		g_object_unref (result_set);
 	}
 
-	result_set = tracker_exec_proc (db_con, "GetXesamMetaDataChildren", type, NULL);
+	result_set = tracker_db_exec_proc (iface, "GetXesamMetaDataChildren", type, NULL);
 	valid = TRUE;
 
 	if (result_set) {
@@ -4802,7 +4804,7 @@
 			gchar *st;
 			
 			tracker_db_result_set_get (result_set, 0, &st, -1);
-			get_service_mapping(db_con, st ,list);
+			get_service_mapping(iface, st ,list);
 			
 			valid = tracker_db_result_set_iter_next (result_set);
 			g_free (st);
@@ -4816,12 +4818,12 @@
 
 
 gboolean
-tracker_db_create_xesam_lookup (DBConnection *db_con)
+tracker_db_create_xesam_lookup (TrackerDBInterface *iface)
 {
 	TrackerDBResultSet   *result_set;
 	gboolean              valid = TRUE;
 
-	result_set = tracker_exec_proc (db_con, "GetXesamServiceTypes", NULL);
+	result_set = tracker_db_exec_proc (iface, "GetXesamServiceTypes", NULL);
 	
 	if (result_set) {
 		while (valid) {
@@ -4830,11 +4832,11 @@
 				GList *iter = NULL;
 				
 				tracker_db_result_set_get (result_set, 0, &st, -1);
-				get_service_mapping(db_con, st, &list);
-				
+				get_service_mapping(iface, st, &list);
+
 				iter = g_list_first(list);
 				while (iter) {
-					tracker_exec_proc (db_con, "InsertXesamServiceLookup", st, iter->data, NULL);
+					tracker_db_exec_proc (iface, "InsertXesamServiceLookup", st, iter->data, NULL);
 					g_free(iter->data);
 					
 					iter = g_list_next (iter);
@@ -4850,7 +4852,7 @@
 	g_object_unref (result_set);	
 	valid = TRUE;
 
-	result_set = tracker_exec_proc (db_con, "GetXesamMetaDataTypes", NULL);
+	result_set = tracker_db_exec_proc (iface, "GetXesamMetaDataTypes", NULL);
 
 	if (result_set) {
 		while (valid) {
@@ -4859,11 +4861,11 @@
 				GList *iter = NULL;	
 
 				tracker_db_result_set_get (result_set, 0, &st, -1);
-				get_metadata_mapping(db_con, st, &list);
-				
+				get_metadata_mapping(iface, st, &list);
+
 				iter = g_list_first(list);
 				while (iter) {
-					tracker_exec_proc (db_con, "InsertXesamMetaDataLookup", st, iter->data, NULL);
+					tracker_db_exec_proc (iface, "InsertXesamMetaDataLookup", st, iter->data, NULL);
 					g_free(iter->data);
 					
 					iter = g_list_next (iter);
@@ -4882,7 +4884,7 @@
 }
 
 gboolean
-tracker_db_load_xesam_service_file (DBConnection *db_con, const char *filename)
+tracker_db_load_xesam_service_file (TrackerDBInterface *iface, const char *filename)
 {
 	GKeyFile 		*key_file = NULL;
 	const char * const 	*locale_array;
@@ -4921,14 +4923,14 @@
 		for (array = groups; *array; array++) {
                         if (is_metadata) {
 
-		                tracker_exec_proc (db_con, "InsertXesamMetadataType", *array, NULL);
-				id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (db_con->db));
+		                tracker_db_exec_proc (iface, "InsertXesamMetadataType", *array, NULL);
+				id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (iface));
 
 
 		        } else if (is_service) {
 				
-		                tracker_exec_proc (db_con, "InsertXesamServiceType", *array, NULL);
-				id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (db_con->db));
+		                tracker_db_exec_proc (iface, "InsertXesamServiceType", *array, NULL);
+				id = tracker_db_interface_sqlite_get_last_insert_id (TRACKER_DB_INTERFACE_SQLITE (iface));
 
 			} else {
 				/* Nothing required */
@@ -4969,7 +4971,7 @@
 							if (parents) {
 								for (parents_p = parents; *parents_p; parents_p++) {
 									sql = g_strdup_printf ("INSERT INTO XesamMetadataChildren (Parent, Child) VALUES ('%s', '%s')", *parents_p, *array);
-									tracker_db_exec_no_reply (db_con->db, sql);
+									tracker_db_exec_no_reply (iface, sql);
 									
 									g_free(sql);
 								}
@@ -4981,7 +4983,7 @@
 							
 							if (data_id != -1) {
 								sql = g_strdup_printf ("update XesamMetadataTypes set DataTypeID = %d where ID = %s", data_id, str_id);
-								tracker_db_exec_no_reply (db_con->db, sql);
+								tracker_db_exec_no_reply (iface, sql);
 								g_free (sql);
 								
 							}
@@ -4992,7 +4994,7 @@
 							
 							sql = g_strdup_printf ("update XesamMetadataTypes set  %s = '%s' where ID = %s", *array2, esc_value, str_id);
 								
-							tracker_db_exec_no_reply (db_con->db, sql);
+							tracker_db_exec_no_reply (iface, sql);
 							g_free (sql);
 							g_free (esc_value);
 						}
@@ -5007,7 +5009,7 @@
 							if (parents) {
 								for (parents_p = parents; *parents_p; parents_p++) {
 									sql = g_strdup_printf ("INSERT INTO XesamServiceChildren (Parent, Child) VALUES ('%s', '%s')", *parents_p, *array);
-									tracker_db_exec_no_reply (db_con->db, sql);
+									tracker_db_exec_no_reply (iface, sql);
 									
 									g_free(sql);
 								}
@@ -5015,7 +5017,7 @@
 						} else {
 							char *esc_value = tracker_escape_string (value);
 							sql = g_strdup_printf ("update XesamServiceTypes set  %s = '%s' where typeID = %s", *array2, esc_value, str_id);
-							tracker_db_exec_no_reply (db_con->db, sql);
+							tracker_db_exec_no_reply (iface, sql);
 							g_free (sql);
 							g_free (esc_value);
 						}
@@ -5028,7 +5030,7 @@
 						if (mappings) {
 							for (mappings_p = mappings; *mappings_p; mappings_p++) {
 								char *esc_value = tracker_escape_string (*mappings_p);
-								tracker_exec_proc (db_con, "InsertXesamMetaDataMapping", *array, esc_value, NULL);
+								tracker_db_exec_proc (iface, "InsertXesamMetaDataMapping", *array, esc_value, NULL);
 								g_free (esc_value);
 							}
 						}
@@ -5041,7 +5043,7 @@
 						if (mappings) {
 							for (mappings_p = mappings; *mappings_p; mappings_p++) {
 								char *esc_value = tracker_escape_string (*mappings_p);
-								tracker_exec_proc (db_con, "InsertXesamServiceMapping", *array, esc_value, NULL);
+								tracker_db_exec_proc (iface, "InsertXesamServiceMapping", *array, esc_value, NULL);
 								g_free (esc_value);
 							}
 						}
@@ -5107,6 +5109,8 @@
 		alias = g_strdup_printf ("M%d", field_count);
 		table_name = tracker_get_metadata_table (tracker_field_get_data_type (def));
 
+		g_debug("Field_name: %s :table_name is: %s for data_type: %i", field_name, table_name, tracker_field_get_data_type(def));
+
 		tracker_field_data_set_alias (field_data, alias);
 		tracker_field_data_set_table_name (field_data, table_name);
 		tracker_field_data_set_id_field (field_data, tracker_field_get_id (def));

Modified: branches/indexer-split/src/trackerd/tracker-db-sqlite.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db-sqlite.h	(original)
+++ branches/indexer-split/src/trackerd/tracker-db-sqlite.h	Tue May 27 09:13:19 2008
@@ -337,9 +337,9 @@
 TrackerDBResultSet *tracker_get_xesam_service_names           (DBConnection *db_con, 
                                                                const char *name);
 
-gboolean            tracker_db_load_xesam_service_file 	       (DBConnection *db_con, 
+gboolean            tracker_db_load_xesam_service_file 	       (TrackerDBInterface *iface, 
                                                                 const char *filename);
-gboolean            tracker_db_create_xesam_lookup             (DBConnection *db_con);
+gboolean            tracker_db_create_xesam_lookup             (TrackerDBInterface *iface);
 void                tracker_db_stop_live_search                (DBConnection *db_con, 
                                                                 const gchar *search_id);
 void                tracker_db_start_live_search               (DBConnection *db_con, 

Modified: branches/indexer-split/src/trackerd/tracker-dbus-xesam.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-dbus-xesam.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-dbus-xesam.c	Tue May 27 09:13:19 2008
@@ -304,6 +304,8 @@
 					my_sessions);
 
 		dbus_g_method_return (context, session_id);
+
+		g_message ("Created new xesam session: %s", session_id);
 	}
 
 	g_free (session_id);
@@ -465,6 +467,8 @@
 		if (search)
 			g_object_unref (search);
 
+		g_debug("Created new xesam search: %s  for session: %s", search_id, session_id);
+
 		g_free (search_id);
 
 	} else if (error) {

Modified: branches/indexer-split/src/trackerd/tracker-dbus-xesam.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-dbus-xesam.h	(original)
+++ branches/indexer-split/src/trackerd/tracker-dbus-xesam.h	Tue May 27 09:13:19 2008
@@ -29,8 +29,8 @@
 #include "tracker-db-sqlite.h"
 #include "tracker-indexer.h"
 
-#define TRACKER_DBUS_XESAM_SERVICE           "org.freedesktop.xesam"
-#define TRACKER_DBUS_XESAM_PATH              "/org/freedesktop/xesam/Search"
+#define TRACKER_DBUS_XESAM_SERVICE           "org.freedesktop.xesam.searcher"
+#define TRACKER_DBUS_XESAM_PATH              "/org/freedesktop/xesam/searcher/main"
 #define TRACKER_DBUS_XESAM_INTERFACE         "org.freedesktop.xesam.Search"
 
 G_BEGIN_DECLS

Modified: branches/indexer-split/src/trackerd/tracker-dbus.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-dbus.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-dbus.c	Tue May 27 09:13:19 2008
@@ -127,10 +127,11 @@
 gboolean 
 tracker_dbus_preinit (Tracker          *tracker, 
 		      DBusGConnection **connection_out, 
-		      DBusGProxy      **proxy_out)
+		      DBusGProxy      **proxy_out,
+		      DBusGProxy      **xesam_out)
 {
         DBusGConnection *connection;
-        DBusGProxy      *proxy;
+        DBusGProxy      *proxy, *xesam;
         GError          *error = NULL;
 
         g_return_val_if_fail (tracker != NULL, FALSE);
@@ -158,8 +159,22 @@
                 return FALSE;
         }
 
+        /* The definitions below (DBUS_SERVICE_DBUS, etc) are
+         * predefined for us to just use.
+         */
+        xesam = dbus_g_proxy_new_for_name (connection,
+                                           DBUS_SERVICE_DBUS,
+                                           DBUS_PATH_DBUS,
+                                           DBUS_INTERFACE_DBUS);
+
+        /* Set up the main tracker service */
+        if (!dbus_register_service (xesam, TRACKER_DBUS_XESAM_SERVICE)) {
+                return FALSE;
+        }
+
         *connection_out = connection;
         *proxy_out = proxy;
+        *xesam_out = xesam;
 
         return TRUE;
 }
@@ -167,7 +182,8 @@
 gboolean
 tracker_dbus_init (Tracker         *tracker, 
 		   DBusGConnection *connection, 
-		   DBusGProxy      *proxy)
+		   DBusGProxy      *proxy,
+		   DBusGProxy      *xesam)
 {
         GObject      *object;
 	DBConnection *db_connection;
@@ -252,7 +268,7 @@
         if (tracker_config_get_enable_xesam (tracker->config)) {
 		/* Add org.freedesktop.xesam.Search */
 		if (!(object = dbus_register_object (connection, 
-						     proxy,
+						     xesam,
 						     TRACKER_TYPE_DBUS_XESAM,
 						     &dbus_glib_tracker_dbus_xesam_object_info,
 						     TRACKER_DBUS_XESAM_PATH))) {

Modified: branches/indexer-split/src/trackerd/tracker-dbus.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-dbus.h	(original)
+++ branches/indexer-split/src/trackerd/tracker-dbus.h	Tue May 27 09:13:19 2008
@@ -80,10 +80,12 @@
 
 gboolean         tracker_dbus_preinit                    (Tracker *tracker, 
 							  DBusGConnection **connection_out, 
-							  DBusGProxy **proxy_out);
+							  DBusGProxy **proxy_out,
+							  DBusGProxy **xesam_out);
 gboolean         tracker_dbus_init                       (Tracker *tracker,
 							  DBusGConnection *connection, 
-							  DBusGProxy *proxy);
+							  DBusGProxy *proxy,
+							  DBusGProxy *xesam);
 void             tracker_dbus_shutdown                   (void);
 guint            tracker_dbus_get_next_request_id        (void);
 GObject *        tracker_dbus_get_object                 (GType                type);

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	Tue May 27 09:13:19 2008
@@ -809,6 +809,7 @@
 {
 	DBusGConnection *connection = NULL;
 	DBusGProxy     *proxy = NULL;
+	DBusGProxy     *xesam = NULL;
 	GOptionContext *context = NULL;
 	GError         *error = NULL;
 	GThread        *thread; 
@@ -938,7 +939,7 @@
 			  tracker_config_get_verbosity (tracker->config));
 	g_message ("Starting log");
 	
-	if (!tracker_dbus_preinit (tracker, &connection, &proxy))
+	if (!tracker_dbus_preinit (tracker, &connection, &proxy, &xesam))
 		return EXIT_FAILURE;
 
 	sanity_check_option_values ();
@@ -993,7 +994,7 @@
         /* If we are already running, this should return some
          * indication.
          */
-        if (!tracker_dbus_init (tracker, connection, proxy)) {
+        if (!tracker_dbus_init (tracker, connection, proxy, xesam)) {
                 return EXIT_FAILURE;
         }
 

Modified: branches/indexer-split/src/trackerd/tracker-xesam-live-search.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-xesam-live-search.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-xesam-live-search.c	Tue May 27 09:13:19 2008
@@ -489,6 +489,8 @@
 
 		g_object_get (proxy, "db-connection", &db_con, NULL);
 
+		g_debug ("live_search_get_hits");
+
 		// For ottela: fetch results for get_hits
 
 		result_set = tracker_db_get_live_search_get_hit_data (db_con,
@@ -665,10 +667,13 @@
 		TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
 
 		g_object_get (proxy, "db-connection", &db_con, NULL);
+
+		g_debug ("The from query for activate: %s",tracker_xesam_live_search_get_from_query (self)); 
+
 		tracker_db_start_live_search (db_con, 
-			tracker_xesam_live_search_get_id (self),
 			tracker_xesam_live_search_get_from_query (self),
-			tracker_xesam_live_search_get_where_query (self));
+			tracker_xesam_live_search_get_where_query (self),
+			tracker_xesam_live_search_get_id (self));
 	}
 
 	priv->active = TRUE;
@@ -778,6 +783,8 @@
 		g_free (orig_where);
 	}
 
+	g_message ("Parsed to '%s' and '%s'", priv->from_sql, priv->where_sql);
+
 	return TRUE;
 }
 

Modified: branches/indexer-split/src/trackerd/tracker-xesam-session.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-xesam-session.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-xesam-session.c	Tue May 27 09:13:19 2008
@@ -381,6 +381,8 @@
 	TrackerXesamLiveSearch  *search;
 	TrackerXesamSessionPriv *priv = self->priv;
 
+	g_debug ("Creating search for xesam session: \n %s", query_xml);
+
 	search = tracker_xesam_live_search_new (query_xml);
 
 	tracker_xesam_live_search_set_session (search, self);
@@ -388,6 +390,7 @@
 
 	if (tracker_xesam_live_search_parse_query (search, error)) {
 
+		g_debug ("Xesam live search added");
 		g_hash_table_insert (priv->searches, 
 			g_strdup (tracker_xesam_live_search_get_id (search)),
 			g_object_ref (search));
@@ -396,6 +399,7 @@
 			*search_id = g_strdup (tracker_xesam_live_search_get_id (search));
 
 	} else {
+		g_message ("Xesam search parse failed");
 		g_object_unref (search);
 		search = NULL;
 	}

Modified: branches/indexer-split/src/trackerd/tracker-xesam.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-xesam.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-xesam.c	Tue May 27 09:13:19 2008
@@ -210,6 +210,9 @@
 
 	while (sessions) {
 		GList *searches;
+
+		g_debug ("Session being handled, ID :%s", tracker_xesam_session_get_id (sessions->data));
+
 		searches = tracker_xesam_session_get_searches (sessions->data);
 
 		while (searches) {
@@ -217,6 +220,9 @@
 			GArray                 *added = NULL;
 			GArray                 *removed = NULL;
 			GArray                 *modified = NULL;
+
+			g_debug ("Search being handled, ID :%s", tracker_xesam_live_search_get_id (searches->data));
+
 			search = searches->data;
 			tracker_xesam_live_search_match_with_events (search, 
 								     &added, 
@@ -284,6 +290,7 @@
 	 * we didn't get a wakeup-call nor we had items to process this loop
 	 */
 
+
 	if (!live_search_handler_running) {
 		live_search_handler_running = TRUE;
 		g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE,



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