[tracker/no-mtime-checks-on-start] WIP - trying to remove last SPARQL query on initial crawl
- From: mr src gnome org
- To: commits-list gnome org
- Cc:
- Subject: [tracker/no-mtime-checks-on-start] WIP - trying to remove last SPARQL query on initial crawl
- Date: Wed, 2 Feb 2011 11:29:46 +0000 (UTC)
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]