[tracker] libtracker-miner: Add TRACKER_DIRECTORY_FLAG_CHECK_DELETED flag
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-miner: Add TRACKER_DIRECTORY_FLAG_CHECK_DELETED flag
- Date: Thu, 5 May 2016 11:46:34 +0000 (UTC)
commit f1928f41cfe9cb43d494f616ed4bda52a14f40b4
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue May 3 01:00:33 2016 +0200
libtracker-miner: Add TRACKER_DIRECTORY_FLAG_CHECK_DELETED flag
This forces a check for deleted contents on all folders, as if
the folder mtime changed. Will be useful to recheck indexed directories'
contents after configuration changes.
src/libtracker-miner/tracker-file-notifier.c | 5 ++++-
src/libtracker-miner/tracker-miner-enums.h | 6 +++++-
2 files changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-file-notifier.c b/src/libtracker-miner/tracker-file-notifier.c
index 33e3934..49f8aa8 100644
--- a/src/libtracker-miner/tracker-file-notifier.c
+++ b/src/libtracker-miner/tracker-file-notifier.c
@@ -857,6 +857,7 @@ sparql_files_query_cb (GObject *object,
TrackerSparqlCursor *cursor;
GError *error = NULL;
GFile *directory;
+ guint flags;
cursor = tracker_sparql_connection_query_finish (TRACKER_SPARQL_CONNECTION (object),
result, &error);
@@ -876,8 +877,10 @@ sparql_files_query_cb (GObject *object,
file_notifier_traverse_tree (notifier, data->max_depth);
directory = priv->current_index_root->current_dir;
+ flags = priv->current_index_root->flags;
- if (file_notifier_is_directory_modified (notifier, directory)) {
+ if ((flags & TRACKER_DIRECTORY_FLAG_CHECK_DELETED) != 0 ||
+ file_notifier_is_directory_modified (notifier, directory)) {
/* The directory has updated its mtime, this means something
* was either added or removed in the mean time. Crawling
* will always find all newly added files. But still, we
diff --git a/src/libtracker-miner/tracker-miner-enums.h b/src/libtracker-miner/tracker-miner-enums.h
index 932fa77..6bfad97 100644
--- a/src/libtracker-miner/tracker-miner-enums.h
+++ b/src/libtracker-miner/tracker-miner-enums.h
@@ -53,6 +53,9 @@ G_BEGIN_DECLS
* server somewhere), use the #TRACKER_DIRECTORY_FLAG_NO_STAT flag.
* The default is to use stat() and assume we're mining a local or
* mounted file system.
+ * @TRACKER_DIRECTORY_FLAG_CHECK_DELETED: Forces checks on deleted
+ * contents. This is most usually optimized away unless directory
+ * mtime changes indicate there could be deleted content.
*
* Flags used when adding a new directory to be indexed in the
* #TrackerIndexingTree, #TrackerDataProvider and #TrackerEnumerator.
@@ -65,7 +68,8 @@ typedef enum {
TRACKER_DIRECTORY_FLAG_IGNORE = 1 << 4,
TRACKER_DIRECTORY_FLAG_PRESERVE = 1 << 5,
TRACKER_DIRECTORY_FLAG_PRIORITY = 1 << 6,
- TRACKER_DIRECTORY_FLAG_NO_STAT = 1 << 7
+ TRACKER_DIRECTORY_FLAG_NO_STAT = 1 << 7,
+ TRACKER_DIRECTORY_FLAG_CHECK_DELETED = 1 << 8,
} TrackerDirectoryFlags;
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]