summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2014-12-07 21:34:46 +0100
committerCarlos Garnacho <carlosg@gnome.org>2014-12-07 23:15:26 +0100
commit5c3ae89f3be314cadd0958ff0f958b39a868631f (patch)
tree8dc4f403b0441f925cd08fdacecea7b7e7ee20e2
parent367d87583b32f5a66e6020a0a771eaa1cde907f4 (diff)
downloadtracker-decorator-memory-reduction.tar.gz
tracker-miner-fs: Delete nie:dataSources on updatedecorator-memory-reduction
Decorators should be updating again all relevant information, so ensure their nie:dataSource is deleted for these to kick in again. This used to be unnecessary because updated items just went to the internal decorator queue, without further checks. Now that the decorators query the database for the next items missing that dataSource, it is crucial to do this somewhere.
-rw-r--r--src/miners/fs/tracker-miner-files.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/miners/fs/tracker-miner-files.c b/src/miners/fs/tracker-miner-files.c
index 246e7dbc4..fb7445f36 100644
--- a/src/miners/fs/tracker-miner-files.c
+++ b/src/miners/fs/tracker-miner-files.c
@@ -2322,6 +2322,18 @@ process_file_attributes_cb (GObject *object,
tracker_sparql_builder_graph_close (sparql);
tracker_sparql_builder_insert_close (sparql);
+ /* Delete data sources from other miners/decorators */
+ tracker_sparql_builder_delete_open (sparql, NULL);
+ tracker_sparql_builder_subject_iri (sparql, urn);
+ tracker_sparql_builder_predicate (sparql, "nie:dataSource");
+ tracker_sparql_builder_object_variable (sparql, "datasource");
+ tracker_sparql_builder_delete_close (sparql);
+ tracker_sparql_builder_where_open (sparql);
+ tracker_sparql_builder_subject_iri (sparql, urn);
+ tracker_sparql_builder_predicate (sparql, "nie:dataSource");
+ tracker_sparql_builder_object_variable (sparql, "datasource");
+ tracker_sparql_builder_where_close (sparql);
+
g_object_unref (file_info);
g_free (uri);