tracker r1413 - branches/xesam-support/src/trackerd



Author: pvanhoof
Date: Tue May 13 14:53:25 2008
New Revision: 1413
URL: http://svn.gnome.org/viewvc/tracker?rev=1413&view=rev

Log:
Added tracker_db_get_live_search_get_hit_data

Modified:
   branches/xesam-support/src/trackerd/tracker-db-sqlite.c
   branches/xesam-support/src/trackerd/tracker-db-sqlite.h
   branches/xesam-support/src/trackerd/tracker-xesam-live-search.c

Modified: branches/xesam-support/src/trackerd/tracker-db-sqlite.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-db-sqlite.c	(original)
+++ branches/xesam-support/src/trackerd/tracker-db-sqlite.c	Tue May 13 14:53:25 2008
@@ -3246,15 +3246,38 @@
 	/* FROM_QUERY */   "%s%s LiveSearches as X, Events as E "
 	/* WHERE_QUERY */  "%s"
 	/* AND or space */ "%sX.ServiceID = E.ServiceID "
-			   "AND X.SearchID = ? "
+			   "AND X.SearchID = '%s' "
 			   "AND (X.EventType IS 'Create' "
 			   "OR X.EventType IS 'Update') ",
-		columns?", ":"", 
-		columns?columns:"", 
-		from_query?from_query:"FROM",
-		from_query?",":"",
-		where_query?where_query:"WHERE",
-		where_query?"AND":" ");
+
+			   columns?", ":"", 
+			   columns?columns:"", 
+			   from_query?from_query:"FROM",
+			   from_query?",":"",
+			   where_query?where_query:"WHERE",
+			   where_query?"AND":" ", 
+			   search_id);
+
+	tracker_debug ("LiveSearchUpdateQuery: %s", m_query);
+
+	result = tracker_db_interface_execute_query (db_con->db, NULL, m_query);
+
+	g_free (m_query);
+
+	return result;
+}
+
+TrackerDBResultSet *
+tracker_db_get_live_search_get_hit_data (DBConnection *db_con, const gchar *search_id)
+{
+	TrackerDBResultSet *result;
+
+	// todo
+
+	gchar *m_query = g_strdup_printf (
+			"SELECT * FROM LiveSearches as X"
+			"WHERE X.SearchID = '%s' ",
+			search_id);
 
 	tracker_debug ("LiveSearchUpdateQuery: %s", m_query);
 

Modified: branches/xesam-support/src/trackerd/tracker-db-sqlite.h
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-db-sqlite.h	(original)
+++ branches/xesam-support/src/trackerd/tracker-db-sqlite.h	Tue May 13 14:53:25 2008
@@ -361,13 +361,22 @@
 
 void                tracker_free_metadata_field                (FieldData *field_data);
 
-TrackerDBResultSet *tracker_get_xesam_metadata_names           (DBConnection *db_con, const char *name);
-TrackerDBResultSet *tracker_get_xesam_service_names           (DBConnection *db_con, const char *name);
+TrackerDBResultSet *tracker_get_xesam_metadata_names           (DBConnection *db_con, 
+                                                                const char *name);
+TrackerDBResultSet *tracker_get_xesam_service_names           (DBConnection *db_con, 
+                                                               const char *name);
 
-gboolean            tracker_db_load_xesam_service_file 	       (DBConnection *db_con, const char *filename);
+gboolean            tracker_db_load_xesam_service_file 	       (DBConnection *db_con, 
+                                                                const char *filename);
 gboolean            tracker_db_create_xesam_lookup             (DBConnection *db_con);
-void                tracker_db_stop_live_search                (DBConnection *db_con, const gchar *search_id);
-void                tracker_db_start_live_search               (DBConnection *db_con, const gchar *from_query, const gchar *where_query, const gchar *search_id);
+void                tracker_db_stop_live_search                (DBConnection *db_con, 
+                                                                const gchar *search_id);
+void                tracker_db_start_live_search               (DBConnection *db_con, 
+                                                                const gchar *from_query, 
+                                                                const gchar *where_query,
+                                                                const gchar *search_id);
+TrackerDBResultSet *tracker_db_get_live_search_get_hit_data    (DBConnection *db_con, 
+                                                                const gchar *search_id);
 
 G_END_DECLS
 

Modified: branches/xesam-support/src/trackerd/tracker-xesam-live-search.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-xesam-live-search.c	(original)
+++ branches/xesam-support/src/trackerd/tracker-xesam-live-search.c	Tue May 13 14:53:25 2008
@@ -422,7 +422,8 @@
 	gboolean valid = TRUE;
 	gint hitfields_columns = 0, column;
 	GPtrArray *result = g_ptr_array_new ();
-	
+
+
 	while (valid) {
 		GPtrArray *row = g_ptr_array_new ();
 
@@ -481,10 +482,20 @@
 				"Search is not active");
 	else {
 		TrackerDBResultSet *result_set = NULL;
+		DBConnection *db_con = NULL;
+		TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+
+		g_object_get (proxy, "db-connection", &db_con, NULL);
 
 		// For ottela: fetch results for get_hits
 
-		get_hit_data (self, result_set, hits);
+		result_set = tracker_db_get_live_search_get_hit_data (db_con,
+			tracker_xesam_live_search_get_id (self));
+
+		if (result_set) {
+			get_hit_data (self, result_set, hits);
+			g_object_unref (result_set);
+		}
 	}
 }
 
@@ -502,10 +513,20 @@
 				"Search is not active");
 	else {
 		TrackerDBResultSet *result_set = NULL;
+		DBConnection *db_con = NULL;
+		TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+
+		g_object_get (proxy, "db-connection", &db_con, NULL);
 
 		// For ottela: fetch results for get_hits
 
-		get_hit_data (self, result_set, hits);
+		result_set = tracker_db_get_live_search_get_hit_data (db_con,
+			tracker_xesam_live_search_get_id (self));
+
+		if (result_set) {
+			get_hit_data (self, result_set, hits);
+			g_object_unref (result_set);
+		}
 	}
 }
 
@@ -552,10 +573,20 @@
 				"Search is not active yet");
 	else {
 		TrackerDBResultSet *result_set = NULL;
+		DBConnection *db_con = NULL;
+		TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
 
-		// For ottela: fetch results for get_hit_data
+		g_object_get (proxy, "db-connection", &db_con, NULL);
 
-		get_hit_data (self, result_set, hit_data);
+		// For ottela: fetch results for get_hits
+
+		result_set = tracker_db_get_live_search_get_hit_data (db_con,
+			tracker_xesam_live_search_get_id (self));
+
+		if (result_set) {
+			get_hit_data (self, result_set, hit_data);
+			g_object_unref (result_set);
+		}
 	}
 }
 
@@ -576,10 +607,20 @@
 				"Search is not active yet");
 	else {
 		TrackerDBResultSet *result_set = NULL;
+		DBConnection *db_con = NULL;
+		TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
 
-		// For ottela: fetch results for get_hit_data
+		g_object_get (proxy, "db-connection", &db_con, NULL);
 
-		get_hit_data (self, result_set, hit_data);
+		// For ottela: fetch results for get_hits
+
+		result_set = tracker_db_get_live_search_get_hit_data (db_con,
+			tracker_xesam_live_search_get_id (self));
+
+		if (result_set) {
+			get_hit_data (self, result_set, hit_data);
+			g_object_unref (result_set);
+		}
 	}
 }
 



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