diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2014-12-07 21:34:46 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2014-12-07 23:15:26 +0100 |
commit | 5c3ae89f3be314cadd0958ff0f958b39a868631f (patch) | |
tree | 8dc4f403b0441f925cd08fdacecea7b7e7ee20e2 | |
parent | 367d87583b32f5a66e6020a0a771eaa1cde907f4 (diff) | |
download | tracker-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.c | 12 |
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); |