[tracker/no-mtime-checks-on-start] WIP - trying to remove last SPARQL query on initial crawl



commit 29df062b15353d2de5acfa4083a5de692173f622
Author: Martyn Russell <martyn lanedo com>
Date:   Wed Feb 2 11:28:56 2011 +0000

    WIP - trying to remove last SPARQL query on initial crawl
    
    Should be a case of removing the item_query_exists() call by playing with set_qdata()

 src/libtracker-miner/tracker-miner-fs.c |   11 ++++++++---
 src/miners/fs/tracker-main.c            |    3 +++
 2 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index 44a9bd4..97dd1ce 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -2760,12 +2760,14 @@ item_queue_handlers_cb (gpointer user_data)
 			g_object_set_qdata (G_OBJECT (file),
 			                    fs->private->quark_check_existence,
 			                    GINT_TO_POINTER (FALSE));
+
 			/* Avoid adding items that already exist, when processing
 			 * a CREATED task (as those generated when crawling) */
 			if (!item_query_exists (fs, file, NULL, NULL)) {
 				keep_processing = item_add_or_update (fs, file);
 				break;
 			}
+
 			/* If already in store, skip processing the CREATED task */
 			keep_processing = TRUE;
 			break;
@@ -3547,9 +3549,12 @@ crawler_check_directory_contents_cb (TrackerCrawler *crawler,
 	if (add_monitor) {
 		/* Set quark so that before trying to add the item we first
 		 * check for its existence. */
-		g_object_set_qdata (G_OBJECT (parent),
-		                    fs->private->quark_check_existence,
-		                    GINT_TO_POINTER (TRUE));
+		if (!fs->private->is_crawling || fs->private->mtime_checking) {
+			g_object_set_qdata (G_OBJECT (parent),
+			                    fs->private->quark_check_existence,
+			                    GINT_TO_POINTER (TRUE));
+		}
+
 		/* Before adding the monitor, start notifying the store
 		 * about the new directory, so that if any file event comes
 		 * afterwards, the directory is already in store. */
diff --git a/src/miners/fs/tracker-main.c b/src/miners/fs/tracker-main.c
index 07ded14..0cd7700 100644
--- a/src/miners/fs/tracker-main.c
+++ b/src/miners/fs/tracker-main.c
@@ -662,6 +662,9 @@ main (gint argc, gchar *argv[])
 
 	/* Create miner for applications */
 	miner_applications = tracker_miner_applications_new ();
+	tracker_miner_fs_set_initial_crawling (TRACKER_MINER_FS (miner_applications), do_crawling);
+	tracker_miner_fs_set_mtime_checking (TRACKER_MINER_FS (miner_applications), do_mtime_checking);
+
 	miners = g_slist_append (miners, miner_applications);
 
 	g_signal_connect (miner_applications, "finished",



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