tracker r1815 - in branches/indexer-split: . data src/libtracker-common src/libtracker-db src/tracker-indexer src/trackerd tests/libtracker-db



Author: pvanhoof
Date: Tue Jul  1 16:29:46 2008
New Revision: 1815
URL: http://svn.gnome.org/viewvc/tracker?rev=1815&view=rev

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

	* src/tracker-indexer/tracker-indexer.h: 
	* src/trackerd/tracker-search.c: 
	* src/trackerd/tracker-keywords.c: 
	* src/trackerd/tracker-metadata.c: 
	* src/trackerd/tracker-main.c: 
	* src/trackerd/tracker-files.c: 
	* src/trackerd/tracker-daemon.c: 
	* src/trackerd/tracker-xesam-live-search.c: 
	* src/trackerd/tracker-db.c: 
	* src/trackerd/tracker-xesam-manager.c: 
	* src/trackerd/tracker-db.h: 
	* src/libtracker-db/tracker-db-manager.c: 
	* src/libtracker-db/tracker-db-manager.h: 
	* src/libtracker-common/tracker-service.h: 
	* src/libtracker-common/tracker-ontology.c: 
	* tests/libtracker-db/tracker-db-manager-test-attach.c: 
	* data/sqlite-stored-procs.sql: 


	Removes attach_iface and attach_all as this was broken by design

	Adds "Xesam" as possible service for get_db_interface_by_service

	Removes tracker_db_manager_get_db_interface_by_service's content
	boolean since ALL users of it require the content db attached

	Makes tracker_db_manager_get_db_interface always return just a
	connection to just the requested file. Making it ideal for the indexer

	Makes the Xesam code always use get_db_interface_by_service

	Makes some of the ïtracker_db_manager_get_db_interface users that
	expected an attached connection use ïget_db_interface_by_service
	instead

	Makes some of the ïïtracker_db_manager_get_db_interface users request
	the right db file. Some of these requested FILE_META while the tables
	that they influence or request from reside in common.

	Prepares for preferred use of get_db_interface_by_service over
	tracker_db_manager_get_db_interface

	Commit reviewed and approved by Ivan Frade



Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/data/sqlite-stored-procs.sql
   branches/indexer-split/src/libtracker-common/tracker-ontology.c
   branches/indexer-split/src/libtracker-common/tracker-service.h
   branches/indexer-split/src/libtracker-db/tracker-db-manager.c
   branches/indexer-split/src/libtracker-db/tracker-db-manager.h
   branches/indexer-split/src/tracker-indexer/tracker-indexer.h
   branches/indexer-split/src/trackerd/tracker-daemon.c
   branches/indexer-split/src/trackerd/tracker-db.c
   branches/indexer-split/src/trackerd/tracker-db.h
   branches/indexer-split/src/trackerd/tracker-files.c
   branches/indexer-split/src/trackerd/tracker-keywords.c
   branches/indexer-split/src/trackerd/tracker-main.c
   branches/indexer-split/src/trackerd/tracker-metadata.c
   branches/indexer-split/src/trackerd/tracker-search.c
   branches/indexer-split/src/trackerd/tracker-xesam-live-search.c
   branches/indexer-split/src/trackerd/tracker-xesam-manager.c
   branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-attach.c

Modified: branches/indexer-split/data/sqlite-stored-procs.sql
==============================================================================
--- branches/indexer-split/data/sqlite-stored-procs.sql	(original)
+++ branches/indexer-split/data/sqlite-stored-procs.sql	Tue Jul  1 16:29:46 2008
@@ -78,7 +78,7 @@
 DeleteEmbeddedServiceMetadata2 DELETE FROM ServiceKeywordMetaData WHERE ServiceID = ? and MetaDataID in (select ID from MetaDataTypes where Embedded = 1);
 DeleteEmbeddedServiceMetadata3 DELETE FROM ServiceNumericMetaData WHERE ServiceID = ? and MetaDataID in (select ID from MetaDataTypes where Embedded = 1);
 
-GetByServiceType SELECT  DISTINCT F.Path || '/' || F.Name as uri  FROM Services F WHERE F.ServiceTypeID in (select TypeId from common.ServiceTypes where TypeName = ? or Parent = ?) LIMIT ?,?;
+GetByServiceType SELECT  DISTINCT F.Path || '/' || F.Name as uri  FROM Services F WHERE F.ServiceTypeID in (select TypeId from ServiceTypes where TypeName = ? or Parent = ?) LIMIT ?,?;
 
 SaveServiceContents REPLACE into ServiceContents (ServiceID, MetadataID, Content) values (?,?,compress (?));
 DeleteContent DELETE FROM ServiceContents where ServiceID = ? and MetadataId = ?;
@@ -218,4 +218,4 @@
 InsertXesamMimePrefixes replace into XesamFileMimePrefixes (MimePrefix) Values (?);
 
 GetXesamMimeForServiceId select Mime from XesamFileMimes where ServiceTypeId = ?;
-GetXesamMimePrefixForServiceId select MimePrefix from XesamFileMimePrefixes where ServiceTypeId = ?;
\ No newline at end of file
+GetXesamMimePrefixForServiceId select MimePrefix from XesamFileMimePrefixes where ServiceTypeId = ?;

Modified: branches/indexer-split/src/libtracker-common/tracker-ontology.c
==============================================================================
--- branches/indexer-split/src/libtracker-common/tracker-ontology.c	(original)
+++ branches/indexer-split/src/libtracker-common/tracker-ontology.c	Tue Jul  1 16:29:46 2008
@@ -340,6 +340,10 @@
 	if (g_str_has_prefix (str, "emails") || 
 	    g_str_has_prefix (str, "attachments")) {
 		type = TRACKER_DB_TYPE_EMAIL;
+	} else if (g_str_has_prefix (str, "files")) {
+		type = TRACKER_DB_TYPE_FILES;
+	} else if (g_str_has_prefix (str, "xesam")) {
+		type = TRACKER_DB_TYPE_XESAM;
 	}
 
 	g_free (str);

Modified: branches/indexer-split/src/libtracker-common/tracker-service.h
==============================================================================
--- branches/indexer-split/src/libtracker-common/tracker-service.h	(original)
+++ branches/indexer-split/src/libtracker-common/tracker-service.h	Tue Jul  1 16:29:46 2008
@@ -34,6 +34,8 @@
 	TRACKER_DB_TYPE_COMMON, 
 	TRACKER_DB_TYPE_CONTENT,
 	TRACKER_DB_TYPE_EMAIL, 
+	TRACKER_DB_TYPE_FILES, 
+	TRACKER_DB_TYPE_XESAM, 
 	TRACKER_DB_TYPE_CACHE,
 	TRACKER_DB_TYPE_USER
 } TrackerDBType;

Modified: branches/indexer-split/src/libtracker-db/tracker-db-manager.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-manager.c	(original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-manager.c	Tue Jul  1 16:29:46 2008
@@ -139,7 +139,6 @@
 static TrackerDBInterface *db_interface_create (TrackerDB           db);
 
 static gboolean            initialized;
-static gboolean            attach_all;
 static GHashTable         *prepared_queries;
 static gchar              *services_dir;
 static gchar              *sql_dir;
@@ -147,7 +146,6 @@
 static gchar              *user_data_dir;
 static gchar              *sys_tmp_dir;
 static gpointer            db_type_enum_class_pointer;
-static TrackerDBInterface *attach_iface = NULL;
 
 static const gchar * 
 location_to_directory (TrackerDBLocation location)
@@ -1745,51 +1743,10 @@
 		   path,
 		   db_type_to_string (type));
 
-	if (attach_all) {
-		iface = tracker_db_interface_sqlite_new (path);
-		tracker_db_interface_set_procedure_table (iface, 
-							  prepared_queries);
-	
-		/* We don't have separate interfaces for each db in
-		 * this situation. We just have one interface.
-		 * One analyze when we create interfaces.
-		 */
-		if (*create) {
-			g_message ("  Analyzing...");
-			db_exec_no_reply (iface, "ANALYZE");
-		}
-
-		/* The reason we do this is because we need to create
-		 * a new interface for EACH filename so the sql files
-		 * are loaded into the right file instead of the
-		 * first one we create.
-		 */
-		if (attach_iface && dbs[type].attached) {
-			g_message ("  Already attached '%s' as '%s'", 
-				   dbs[type].abs_filename,
-				   dbs[type].name);
-		}
-
-		if (attach_iface && !dbs[type].attached) {
-
-			g_message ("  Attaching '%s' as '%s'", 
-				   dbs[type].abs_filename,
-				   dbs[type].name);
-
-			db_exec_no_reply (attach_iface, 
-					  "ATTACH '%s' as '%s'",
-					  dbs[type].abs_filename,
-					  dbs[type].name);
+	iface = tracker_db_interface_sqlite_new (path);
 
-			dbs[type].attached = TRUE;
-		} else if (!attach_iface) {
-			attach_iface = iface;
-		}
-	} else {
-		iface = tracker_db_interface_sqlite_new (path);
-		tracker_db_interface_set_procedure_table (iface, 
-							  prepared_queries);
-	}
+	tracker_db_interface_set_procedure_table (iface, 
+						  prepared_queries);
 
 	db_set_params (iface,
 		       dbs[type].cache_size,
@@ -2342,9 +2299,6 @@
 			g_unlink (dbs[i].abs_filename);
 		}
 
-		/* Don't attach while we do this... */
-		attach_all = TRUE;
-
 		/* In cases where we re-init this module, make sure
 		 * we have cleaned up the ontology before we load all
 		 * new databases.
@@ -2370,7 +2324,6 @@
 			dbs[i].iface = NULL;
 		}
 
-		attach_iface = NULL;
 	} else {
 		/* Make sure we remove and recreate the cache directory in tmp
 		 * each time we start up, this is meant to be a per-run
@@ -2386,8 +2339,6 @@
 		tracker_ontology_init ();
 	}
 
-	attach_all = flags & TRACKER_DB_MANAGER_ATTACH_ALL;
-
 	/* Load databases */
 	g_message ("Loading databases files...");
 
@@ -2395,31 +2346,6 @@
 		dbs[i].iface = db_interface_create (i);
 	}
 
-	if (attach_all) {
-		TrackerDBInterface *dummy;
-
-		dummy = db_interface_get_common ();
-		g_object_unref (dummy);
-
-		dummy = db_interface_get_cache ();
-		g_object_unref (dummy);
-
-		dummy = db_interface_get_file_contents ();
-		g_object_unref (dummy);
-
-		dummy = db_interface_get_file_metadata ();
-		g_object_unref (dummy);
-
-		dummy = db_interface_get_email_metadata ();
-		g_object_unref (dummy);
-
-		dummy = db_interface_get_email_metadata ();
-		g_object_unref (dummy);
-
-		dummy = db_interface_get_xesam ();
-		g_object_unref (dummy);
-	}
-
 	initialized = TRUE;
 }
 
@@ -2471,8 +2397,6 @@
 	g_type_class_unref (db_type_enum_class_pointer);
 	db_type_enum_class_pointer = NULL;
 
-	attach_iface = NULL;
-
 	/* Make sure we shutdown all other modules we depend on */
 	tracker_ontology_shutdown ();
 
@@ -2487,6 +2411,18 @@
         return dbs[db].abs_filename;
 }
 
+/**
+ * tracker_db_manager_get_db_interfaces:
+ * @num: amount of TrackerDB files wanted
+ * @...: All the files that you want in the connection as TrackerDB items
+ *
+ * Request a database connection where the first requested file gets connected
+ * to and the subsequent requsted files get attached to the connection.
+ *
+ * The caller must g_object_unref the result when finished using it.
+ *
+ * returns: (caller-owns): a database connection
+ **/
 TrackerDBInterface *
 tracker_db_manager_get_db_interfaces (gint num, ...)
 {
@@ -2505,9 +2441,6 @@
 			tracker_db_interface_set_procedure_table (connection, 
 								  prepared_queries);
 
-			/* You could set specific cache and page sizes for the
-			 * indexer's INSERT connection here. */
-
 			db_set_params (connection,
 				       dbs[db].cache_size,
 				       dbs[db].page_size,
@@ -2528,26 +2461,45 @@
 }
 
 
+
+/**
+ * tracker_db_manager_get_db_interface:
+ * @db: the database file wanted
+ *
+ * Request a database connection to the database file @db.
+ *
+ * The caller must NOT g_object_unref the result
+ *
+ * returns: (callee-owns): a database connection
+ **/
 TrackerDBInterface *
 tracker_db_manager_get_db_interface (TrackerDB db)
 {
 	g_return_val_if_fail (initialized != FALSE, NULL);
 
-	if (attach_all) {
-		return attach_iface;
-	}
-
 	return dbs[db].iface;
 }
 
+/**
+ * tracker_db_manager_get_db_interface_by_service:
+ * @service: the server for which you'll use the database connection
+ *
+ * Request a database connection that can be used for @service. At this moment
+ * service can either be "Files", "Emails", "Attachments" or "Xesam".
+ *
+ * The caller must NOT g_object_unref the result
+ *
+ * returns: (callee-owns): a database connection
+ **/
 TrackerDBInterface *
-tracker_db_manager_get_db_interface_by_service (const gchar *service, 
-						gboolean     content)
+tracker_db_manager_get_db_interface_by_service (const gchar *service)
 {
 	TrackerDBInterface        *iface;
 	TrackerDBType              type;
+
 	static TrackerDBInterface *file_iface = NULL;
 	static TrackerDBInterface *email_iface = NULL;
+	static TrackerDBInterface *xesam_iface = NULL;
 
 	g_return_val_if_fail (initialized != FALSE, NULL);
 	g_return_val_if_fail (service != NULL, NULL);
@@ -2556,6 +2508,7 @@
 
 	switch (type) {
 	case TRACKER_DB_TYPE_EMAIL:
+
 		if (!email_iface) {
 			email_iface = tracker_db_manager_get_db_interfaces (4,
 									    TRACKER_DB_COMMON,
@@ -2563,9 +2516,26 @@
 									    TRACKER_DB_EMAIL_METADATA,
 									    TRACKER_DB_CACHE);
 		}
+
 		iface = email_iface;
 		break;
 
+	case TRACKER_DB_TYPE_XESAM:
+		if (!xesam_iface) {
+			xesam_iface = tracker_db_manager_get_db_interfaces (7, 
+									    TRACKER_DB_CACHE,
+									    TRACKER_DB_COMMON,
+									    TRACKER_DB_FILE_CONTENTS,
+									    TRACKER_DB_FILE_METADATA,
+									    TRACKER_DB_EMAIL_CONTENTS,
+									    TRACKER_DB_EMAIL_METADATA,
+									    TRACKER_DB_XESAM);
+		}
+
+		iface = xesam_iface;
+		break;
+
+	case TRACKER_DB_TYPE_FILES:
 	default:
 		if (!file_iface) {
 			file_iface = tracker_db_manager_get_db_interfaces (4,
@@ -2574,6 +2544,7 @@
 									   TRACKER_DB_FILE_METADATA,
 									   TRACKER_DB_CACHE);
 		}
+
 		iface = file_iface;
 		break;
 	}

Modified: branches/indexer-split/src/libtracker-db/tracker-db-manager.h
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-manager.h	(original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-manager.h	Tue Jul  1 16:29:46 2008
@@ -40,11 +40,11 @@
 } TrackerDB;
 
 typedef enum {
-	TRACKER_DB_MANAGER_ATTACH_ALL    = 1 << 0,
 	TRACKER_DB_MANAGER_FORCE_REINDEX = 1 << 1,
 	TRACKER_DB_MANAGER_REMOVE_CACHE  = 1 << 2,
 } TrackerDBManagerFlags;
 
+
 GType        tracker_db_get_type                            (void) G_GNUC_CONST;
 
 void         tracker_db_manager_init                        (TrackerDBManagerFlags  flags,
@@ -59,8 +59,7 @@
 TrackerDBInterface *
              tracker_db_manager_get_db_interfaces           (gint num, ...);
 TrackerDBInterface *
-             tracker_db_manager_get_db_interface_by_service (const gchar           *service, 
-							     gboolean               content);
+             tracker_db_manager_get_db_interface_by_service (const gchar           *service);
 TrackerDBInterface *
              tracker_db_manager_get_db_interface_content    (TrackerDBInterface    *iface);
 

Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.h
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.h	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.h	Tue Jul  1 16:29:46 2008
@@ -73,6 +73,7 @@
 					      const gchar     *module,
 					      GStrv            files,
 					      GError         **error);
+void           tracker_indexer_process_all       (TrackerIndexer *indexer);
 
 G_END_DECLS
 

Modified: branches/indexer-split/src/trackerd/tracker-daemon.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-daemon.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-daemon.c	Tue Jul  1 16:29:46 2008
@@ -322,7 +322,8 @@
         tracker_dbus_request_new (request_id,
 				  "DBus request to get daemon services");
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
+
 	result_set = tracker_db_exec_proc (iface, "GetServices", 0);
 	*values = tracker_dbus_query_result_to_hash_table (result_set);
 
@@ -351,7 +352,7 @@
         tracker_dbus_request_new (request_id,
 				  "DBus request to get daemon service stats");
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
 
 	result_set = tracker_db_exec_proc (iface, "GetStats", 0);
         *values = tracker_dbus_query_result_to_ptr_array (result_set);

Modified: branches/indexer-split/src/trackerd/tracker-db.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-db.c	Tue Jul  1 16:29:46 2008
@@ -322,7 +322,7 @@
 	backup_id = get_backup_id (iface, id);
 
 	if (backup_id) {
-		tracker_db_exec_proc (tracker_db_manager_get_db_interface (TRACKER_DB_COMMON), 
+		tracker_db_exec_proc (iface, 
 				      "SetBackupMetadata", 
 				      backup_id, 
 				      key_id, 
@@ -343,7 +343,7 @@
 	backup_id = get_backup_id (iface, id);
 
 	if (backup_id) {
-		tracker_db_exec_proc (tracker_db_manager_get_db_interface (TRACKER_DB_COMMON), 
+		tracker_db_exec_proc (iface, 
 				      "DeleteBackupMetadataValue", 
 				      backup_id, 
 				      key_id, 
@@ -363,7 +363,7 @@
 	backup_id = get_backup_id (iface, id);
 
 	if (backup_id) {
-		tracker_db_exec_proc (tracker_db_manager_get_db_interface (TRACKER_DB_COMMON), 
+		tracker_db_exec_proc (iface, 
 				      "DeleteBackupMetadata", 
 				      backup_id, 
 				      key_id, 
@@ -479,9 +479,8 @@
 }
 
 static void
-dec_stat (gint id)
+dec_stat (TrackerDBInterface *iface, gint id)
 {
-	TrackerDBInterface *iface;
 	gchar              *service;
 	gchar              *parent;
         
@@ -491,8 +490,6 @@
 		return;
 	}
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
-
 	tracker_db_exec_proc (iface, "DecStat", service, NULL);
 	
 	parent = tracker_ontology_get_parent_service (service);
@@ -3095,8 +3092,6 @@
 	gchar              *path;
 	gint                id;
 
-	iface_common = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
-
 	g_return_if_fail (TRACKER_IS_DB_INTERFACE (iface));
 	g_return_if_fail (TRACKER_IS_DB_INTERFACE (iface_common));
 
@@ -3114,14 +3109,14 @@
 					   -1);
 
 		if (name && path) {
-			dec_stat (id);
+			dec_stat (iface, id);
 
 			tracker_db_exec_proc (iface, "DeleteService1", str_file_id, NULL);
-			tracker_db_exec_proc (iface_common, "DeleteService6", path, name, NULL);
-			tracker_db_exec_proc (iface_common, "DeleteService7", path, name, NULL);
-			tracker_db_exec_proc (iface_common, "DeleteService9", path, name, NULL);
+			tracker_db_exec_proc (iface, "DeleteService6", path, name, NULL);
+			tracker_db_exec_proc (iface, "DeleteService7", path, name, NULL);
+			tracker_db_exec_proc (iface, "DeleteService9", path, name, NULL);
 
-			db_create_event (iface_common, str_file_id, "Delete");
+			db_create_event (iface, str_file_id, "Delete");
 
 			g_free (name);
 			g_free (path);
@@ -3177,6 +3172,7 @@
 	g_free (str_file_id);
 }
 
+/*
 void
 tracker_db_uri_insert_pending (const gchar *id, 
 			       const gchar *action, 
@@ -3238,6 +3234,9 @@
 	g_free (time_str);
 }
 
+*/
+
+/*
 void
 tracker_db_uri_update_pending (const gchar *counter, 
 			       const gchar *action, 
@@ -3269,6 +3268,7 @@
 
 	g_free (time_str);
 }
+*/
 
 gchar **
 tracker_db_files_get (TrackerDBInterface *iface, 
@@ -3420,6 +3420,7 @@
 	}
 }
 
+/*
 TrackerDBResultSet *
 tracker_db_uri_sub_watches_get (const gchar *dir)
 {
@@ -3440,7 +3441,9 @@
 
 	return result_set;
 }
+*/
 
+/*
 TrackerDBResultSet *
 tracker_db_uri_sub_watches_delete (const gchar *dir)
 {
@@ -3462,13 +3465,13 @@
 
 	return result_set;
 }
+*/
 
 void
 tracker_db_file_move (TrackerDBInterface *iface, 
 		      const gchar        *moved_from_uri, 
 		      const gchar        *moved_to_uri)
 {
-	TrackerDBInterface *iface_common;
 	gchar              *str_file_id;
 	gchar              *name;
 	gchar              *path;
@@ -3509,8 +3512,7 @@
 			      str_file_id, 
 			      NULL);
 
-	iface_common = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
-	db_create_event (iface_common, str_file_id, "Update");
+	db_create_event (iface, str_file_id, "Update");
 
 	/* update File:Path and File:Filename metadata */
 	tracker_db_metadata_set_single (iface,
@@ -3532,7 +3534,7 @@
 	}
 
 	/* Update backup service if necessary */
-	tracker_db_exec_proc (iface_common, 
+	tracker_db_exec_proc (iface, 
 			      "UpdateBackupService", 
 			      path, 
 			      name, 
@@ -3796,6 +3798,7 @@
 	return field_data;
 }
 
+/*
 gchar *
 tracker_db_get_option_string (const gchar *option)
 {
@@ -3816,6 +3819,7 @@
 	return value;
 }
 
+
 void
 tracker_db_set_option_string (const gchar *option, 
 			      const gchar *value)
@@ -3833,6 +3837,7 @@
 		g_object_unref (result_set);
 	}
 }
+*/
 
 gint
 tracker_db_get_option_int (const gchar *option)

Modified: branches/indexer-split/src/trackerd/tracker-db.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db.h	(original)
+++ branches/indexer-split/src/trackerd/tracker-db.h	Tue Jul  1 16:29:46 2008
@@ -51,9 +51,12 @@
 TrackerDBResultSet *tracker_db_exec                              (TrackerDBInterface  *iface,
 								  const char          *query,
 								  ...);
+/*
 gchar *             tracker_db_get_option_string                 (const gchar         *option);
+
 void                tracker_db_set_option_string                 (const gchar         *option,
 								  const gchar         *value);
+*/
 gint                tracker_db_get_option_int                    (const gchar         *option);
 void                tracker_db_set_option_int                    (const gchar         *option,
 								  gint                 value);
@@ -170,6 +173,7 @@
 void                tracker_db_directory_move                    (TrackerDBInterface  *iface,
 								  const gchar         *moved_from_uri,
 								  const gchar         *moved_to_uri);
+/*
 void                tracker_db_uri_insert_pending                (const gchar         *id,
 								  const gchar         *action,
 								  const gchar         *counter,
@@ -181,10 +185,13 @@
 void                tracker_db_uri_update_pending                (const gchar         *counter,
 								  const gchar         *action,
 								  const gchar         *uri);
+*/
 TrackerDBResultSet *tracker_db_uri_get_subfolders                (TrackerDBInterface  *iface,
 								  const gchar         *uri);
+/*
 TrackerDBResultSet *tracker_db_uri_sub_watches_get               (const gchar         *dir);
 TrackerDBResultSet *tracker_db_uri_sub_watches_delete            (const gchar         *dir);
+*/
 
 /* Keywords API */
 TrackerDBResultSet *tracker_db_keywords_get_list                 (TrackerDBInterface  *iface,

Modified: branches/indexer-split/src/trackerd/tracker-files.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-files.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-files.c	Tue Jul  1 16:29:46 2008
@@ -81,7 +81,7 @@
                                   "uri:'%s'",
 				  uri);
 	
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	file_id = tracker_db_file_get_id (iface, uri);
 	exists = file_id > 0;
@@ -148,7 +148,7 @@
                                   size,
                                   mtime);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	/* Create structure */
 	info = tracker_db_file_info_new (uri, 1, 0, 0);
@@ -257,7 +257,7 @@
                                   "uri:'%s'",
                                   uri);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	file_id = tracker_db_file_get_id (iface, uri);
 	if (file_id == 0) {
@@ -336,7 +336,7 @@
                                   "uri:'%s'",
                                   uri);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	file_id = tracker_db_file_get_id (iface, uri);
 
@@ -399,8 +399,7 @@
 				 gchar        **value,  
 				 GError       **error)
 {
- 	TrackerDBInterface *iface_metadata;
- 	TrackerDBInterface *iface_contents;
+ 	TrackerDBInterface *iface;
 	TrackerDBResultSet *result_set;
 	guint               request_id;
 	gchar              *service_id;
@@ -421,12 +420,11 @@
                                   offset,
                                   max_length);
 
-	iface_metadata = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
-	iface_contents = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_CONTENTS);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
-	service_id = tracker_db_file_get_id_as_string (iface_metadata, "Files", uri);
+	service_id = tracker_db_file_get_id_as_string (iface, "Files", uri);
 	if (!service_id) {
-		service_id = tracker_db_file_get_id_as_string (iface_metadata, "Emails", uri);
+		service_id = tracker_db_file_get_id_as_string (iface, "Emails", uri);
 
 		if (!service_id) {
 			tracker_dbus_request_failed (request_id,
@@ -440,7 +438,7 @@
 	offset_str = tracker_int_to_string (offset);
 	max_length_str = tracker_int_to_string (max_length);
 
-	result_set = tracker_db_exec_proc (iface_contents,
+	result_set = tracker_db_exec_proc (iface,
 					   "GetFileContents",
 					   offset_str, 
 					   max_length_str, 
@@ -499,7 +497,7 @@
                                   text,
                                   max_length);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	if (uri[0] == G_DIR_SEPARATOR) {
 		name = g_path_get_basename (uri);
@@ -570,7 +568,7 @@
                                   offset,
                                   max_hits);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	if (!tracker_ontology_is_valid_service_type (service)) {
 		tracker_dbus_request_failed (request_id,
@@ -625,7 +623,7 @@
                                   offset,
                                   max_hits);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	result_set = tracker_db_files_get_by_mime (iface,
 						   mime_types, 
@@ -674,7 +672,7 @@
                                   offset,
                                   max_hits);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	/* NOTE: The only difference between this function and the
 	 * non-VFS version is the boolean in this function call:
@@ -719,7 +717,7 @@
                                   "uri:'%s'",
                                   uri);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	if (uri[0] == G_DIR_SEPARATOR) {
 		name = g_path_get_basename (uri);
@@ -786,7 +784,7 @@
                                   uri,
                                   g_strv_length (fields));
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
 
 	/* Get fields for metadata list provided */
 	for (i = 0; i < g_strv_length (fields); i++) {
@@ -914,7 +912,8 @@
                                   text,
                                   g_strv_length (mime_types));
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
+
 	result_set = tracker_db_search_text_and_mime (iface, text, mime_types);
 
 	if (result_set) {
@@ -973,7 +972,8 @@
                                   text,
                                   uri);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
+
 	result_set = tracker_db_search_text_and_location (iface, text, uri);
 
 	if (result_set) {
@@ -1036,7 +1036,8 @@
 				  g_strv_length (mime_types),
                                   uri);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface_by_service ("Files");
+
 	result_set = tracker_db_search_text_and_mime_and_location (iface, text, mime_types, uri);
 
 	if (result_set) {

Modified: branches/indexer-split/src/trackerd/tracker-keywords.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-keywords.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-keywords.c	Tue Jul  1 16:29:46 2008
@@ -138,7 +138,7 @@
 		return FALSE;
 	}
 
- 	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+ 	iface = tracker_db_manager_get_db_interface_by_service (service);
 	result_set = tracker_db_keywords_get_list (iface, service);
         *values = tracker_dbus_query_result_to_ptr_array (result_set);
 
@@ -189,7 +189,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 	id = tracker_db_file_get_id_as_string (iface, service, uri);
 	if (!id) {
 		tracker_dbus_request_failed (request_id,
@@ -254,7 +254,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 	id = tracker_db_file_get_id_as_string (iface, service, uri);
 	tracker_dbus_return_val_if_fail (id != NULL, FALSE, error);
 
@@ -315,7 +315,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 	id = tracker_db_file_get_id_as_string (iface, service, uri);
 	if (!id) {
 		tracker_dbus_request_failed (request_id,
@@ -375,7 +375,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 	id = tracker_db_file_get_id_as_string (iface, service, uri);
 	if (!id) {
 		tracker_dbus_request_failed (request_id,
@@ -440,7 +440,7 @@
 		return FALSE;
 	}
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	/* Sanity check values */
 	offset = MAX (offset, 0);

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 Jul  1 16:29:46 2008
@@ -455,7 +455,7 @@
 		tracker->first_time_index = TRUE;
 		
 		/* Reset stats for embedded services if they are being reindexed */
-		iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+		iface = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
 		
 		g_message ("*** DELETING STATS *** ");
 		tracker_db_exec_no_reply (iface, 
@@ -786,8 +786,7 @@
 
 	tracker_nfs_lock_init (tracker_config_get_nfs_locking (tracker->config));
 
-	flags = TRACKER_DB_MANAGER_ATTACH_ALL |
-		TRACKER_DB_MANAGER_REMOVE_CACHE;
+	flags = TRACKER_DB_MANAGER_REMOVE_CACHE;
 
 	if (reindex) {
 		flags |= TRACKER_DB_MANAGER_FORCE_REINDEX;

Modified: branches/indexer-split/src/trackerd/tracker-metadata.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-metadata.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-metadata.c	Tue Jul  1 16:29:46 2008
@@ -103,7 +103,7 @@
 				  "service:'%s'",
 				  service);
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	service_id = tracker_db_file_get_id_as_string (iface, service, id);
         if (!service_id) {
@@ -239,7 +239,7 @@
 		return FALSE;
 	}
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	service_id = tracker_db_file_get_id_as_string (iface, service, id);
         if (!service_id) {
@@ -284,6 +284,7 @@
 	return TRUE;
 }
 
+
 gboolean
 tracker_metadata_get_type_details (TrackerMetadata  *object,
 				   const gchar      *metadata,
@@ -304,8 +305,8 @@
 	tracker_dbus_return_val_if_fail (is_embedded != NULL, FALSE, error);
 	tracker_dbus_return_val_if_fail (is_writable != NULL, FALSE, error);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
-	
+	iface = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
+
 	tracker_dbus_request_new (request_id,
 				  "DBus request to get metadata details, "
 				  "name:'%s'",
@@ -387,7 +388,7 @@
 	tracker_dbus_request_new (request_id,
 				  "DBus request to get registered classes");
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	iface = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
 
 	result_set = tracker_db_exec_proc (iface, 
 					   "SelectMetadataClasses", 

Modified: branches/indexer-split/src/trackerd/tracker-search.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-search.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-search.c	Tue Jul  1 16:29:46 2008
@@ -766,7 +766,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	result_set = tracker_db_search_text (iface, 
 					     service, 
@@ -864,7 +864,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	result_set = tracker_db_search_text (iface, 
 					     service, 
@@ -931,7 +931,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	service_id = tracker_db_file_get_id_as_string (iface, service, id);
         if (!service_id) {
@@ -942,7 +942,7 @@
                 return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, TRUE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
              
 	result_set = tracker_db_exec_proc (iface, 
 					   "GetAllContents", 
@@ -991,7 +991,7 @@
 			      GHashTable    **values,
 			      GError        **error)
 {
-	TrackerDBInterface *iface;
+	/* TrackerDBInterface *iface; */
 	TrackerDBResultSet *result_set;
 	guint               request_id;
 
@@ -1010,7 +1010,7 @@
                                   max_hits,
                                   group_results ? "yes" : "no");
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	/* iface = tracker_db_manager_get_db_interface_by_service ("Files"); */
 
 	/* FIXME: This function no longer exists, it was returning
 	 * NULL in every case, this DBus function needs rewriting or
@@ -1076,7 +1076,7 @@
 		return FALSE;
 	}
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	/* FIXME: This function no longer exists, it was returning
 	 * NULL in every case, this DBus function needs rewriting or
@@ -1142,7 +1142,7 @@
 		return FALSE;
         }
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	/* FIXME: This function no longer exists, it was returning
 	 * NULL in every case, this DBus function needs rewriting or
@@ -1216,7 +1216,7 @@
 
 	result_set = NULL;
 
-	iface = tracker_db_manager_get_db_interface_by_service (service, FALSE);
+	iface = tracker_db_manager_get_db_interface_by_service (service);
 
 	if (query_condition) {
 		GError *query_error = NULL;

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 Jul  1 16:29:46 2008
@@ -406,7 +406,7 @@
 	g_return_if_fail (removed != NULL);
 	g_return_if_fail (modified != NULL);
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+	iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 	*added = NULL;
 	*removed = NULL;
@@ -478,8 +478,8 @@
 			     "Search was already closed");
 	} else {
 		TrackerDBInterface *iface;
-		
-		iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+
+		iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 		g_message ("Closing search '%s'", 
 			   tracker_xesam_live_search_get_id (self));
@@ -525,7 +525,7 @@
 		TrackerDBResultSet *result_set;
 		GValue              value = {0, };
 
-		iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+		iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 		result_set = tracker_db_live_search_get_hit_count (iface, 
 								   tracker_xesam_live_search_get_id (self));
@@ -865,7 +865,7 @@
 
 			fields = g_value_get_boxed (value);
 
-			iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+			iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 			/* For ottela: fetch results for get_hits */
 
@@ -917,7 +917,7 @@
 		GValue              *value;
 		GError              *tmp_error = NULL;
 
-		iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+		iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 		tracker_xesam_session_get_property (session, 
 						    "hit.fields", 
@@ -1007,7 +1007,7 @@
 		TrackerDBInterface *iface;
 		TrackerDBResultSet *result_set;
 
-		iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+		iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 		result_set = tracker_db_live_search_get_hit_data (iface,
 								  tracker_xesam_live_search_get_id (self),
@@ -1052,7 +1052,7 @@
 		TrackerDBInterface *iface;
 		TrackerDBResultSet *result_set;
 
-		iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+		iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 		result_set = tracker_db_live_search_get_hit_data (iface,
 								  tracker_xesam_live_search_get_id (self),
@@ -1114,7 +1114,7 @@
 		TrackerDBInterface *iface;
 		GArray             *hits;
 
-		iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+		iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 		tracker_db_live_search_start (iface,
 					      tracker_xesam_live_search_get_from_query (self),
@@ -1234,7 +1234,8 @@
 
 	priv = self->priv;
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+	iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
+
 	xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
 
 	orig_from = priv->from_sql;

Modified: branches/indexer-split/src/trackerd/tracker-xesam-manager.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-xesam-manager.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-xesam-manager.c	Tue Jul  1 16:29:46 2008
@@ -263,7 +263,7 @@
 	GList              *sessions;
 	gboolean            reason_to_live = FALSE;
 
-	iface = tracker_db_manager_get_db_interface (TRACKER_DB_XESAM);
+	iface = tracker_db_manager_get_db_interface_by_service ("Xesam");
 
 	g_return_val_if_fail (iface != NULL, FALSE);
 
@@ -337,6 +337,7 @@
 
 	tracker_db_xesam_delete_handled_events (iface);
 
+
 	return reason_to_live;
 }
 

Modified: branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-attach.c
==============================================================================
--- branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-attach.c	(original)
+++ branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-attach.c	Tue Jul  1 16:29:46 2008
@@ -39,12 +39,11 @@
 
         if (db_manager_status == NO_INIT) {
                 if (must_reindex) {
-                        tracker_db_manager_init (TRACKER_DB_MANAGER_ATTACH_ALL |TRACKER_DB_MANAGER_FORCE_REINDEX,
+                        tracker_db_manager_init (TRACKER_DB_MANAGER_FORCE_REINDEX,
                                                  &first);
                         db_manager_status = INIT_REINDEX;
                 } else {
-                        tracker_db_manager_init (TRACKER_DB_MANAGER_ATTACH_ALL,
-                                                 &first);
+                        tracker_db_manager_init (0, &first);
                         db_manager_status = INIT_NO_REINDEX;
                 }
                 return;
@@ -62,12 +61,11 @@
 
         tracker_db_manager_shutdown (must_reindex);
         if (must_reindex) {
-                tracker_db_manager_init (TRACKER_DB_MANAGER_ATTACH_ALL |TRACKER_DB_MANAGER_FORCE_REINDEX,
+                tracker_db_manager_init (TRACKER_DB_MANAGER_FORCE_REINDEX,
                                          &first);
                 db_manager_status = INIT_REINDEX;
         } else {
-                tracker_db_manager_init (TRACKER_DB_MANAGER_ATTACH_ALL,
-                                         &first);
+                tracker_db_manager_init (0, &first);
                 db_manager_status = INIT_NO_REINDEX;
         }
 }



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