[tracker/tracker-store-batch] tracker-indexer: Use D-Bus to compare file mtime



commit 40ff64b351e514dc7d5397a28bd653b25b41126f
Author: Jürg Billeter <j bitron ch>
Date:   Tue May 19 10:04:54 2009 +0200

    tracker-indexer: Use D-Bus to compare file mtime
    
    Database may be locked by tracker-store which makes direct access by
    tracker-indexer deadlock.
---
 src/tracker-indexer/tracker-indexer.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/tracker-indexer/tracker-indexer.c b/src/tracker-indexer/tracker-indexer.c
index 8a78fbd..fd09def 100644
--- a/src/tracker-indexer/tracker-indexer.c
+++ b/src/tracker-indexer/tracker-indexer.c
@@ -1390,7 +1390,8 @@ should_change_index_for_file (TrackerIndexer *indexer,
 			      PathInfo       *info,
 			      const gchar    *uri)
 {
-	TrackerDBResultSet *result_set;
+	gboolean            uptodate;
+	GPtrArray          *sparql_result;
 	GFileInfo          *file_info;
 	time_t              mtime;
 	struct tm           t;
@@ -1411,12 +1412,15 @@ should_change_index_for_file (TrackerIndexer *indexer,
 
 	query = g_strdup_printf ("SELECT ?file { ?file nfo:fileLastModified \"%04d-%02d-%02dT%02d:%02d:%02d\" . FILTER (?file = <%s>) }",
 	                         t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec, uri);
-	result_set = tracker_data_query_sparql (query, NULL);
+	sparql_result = tracker_resources_sparql_query (indexer->private->client, query, NULL);
+
+	uptodate = (sparql_result && sparql_result->len == 1);
+
+	tracker_dbus_results_ptr_array_free (&sparql_result);
 	g_free (query);
 
-	if (result_set) {
+	if (uptodate) {
 		/* File already up-to-date in the database */
-		g_object_unref (result_set);
 		return FALSE;
 	}
 



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