Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tracker for openSUSE:Factory checked in at 2022-07-09 16:59:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tracker (Old) and /work/SRC/openSUSE:Factory/.tracker.new.1523 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tracker" Sat Jul 9 16:59:37 2022 rev:149 rq:987493 version:3.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/tracker/tracker.changes 2022-07-07 12:56:27.059241692 +0200 +++ /work/SRC/openSUSE:Factory/.tracker.new.1523/tracker.changes 2022-07-09 16:59:53.092512516 +0200 @@ -1,0 +2,16 @@ +Thu Jul 7 11:50:16 UTC 2022 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 3.3.2: + + Avoid redundant queries in TrackerNotifiers proxied through an + D-Bus connection. + + Do not attempt to rebuild non-existing FTS tables on parser + updates. + + Convert values to the right type when propagating insertions + over superproperties. + + Fix test to handle SQLite >= 3.39.0. + + Fix handling of nrl:modified after opening existing databases. + + Linking fixes to CLI executables. +- Drop tracker-do-not-rebuild-non-existing-FTS-tables.patch: fixed + upstream. + +------------------------------------------------------------------- Old: ---- tracker-3.3.1.tar.xz tracker-do-not-rebuild-non-existing-FTS-tables.patch New: ---- tracker-3.3.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tracker.spec ++++++ --- /var/tmp/diff_new_pack.2jlSzu/_old 2022-07-09 16:59:54.004513887 +0200 +++ /var/tmp/diff_new_pack.2jlSzu/_new 2022-07-09 16:59:54.008513892 +0200 @@ -21,15 +21,13 @@ %define RPMTrackerAPI 3_0 Name: tracker -Version: 3.3.1 +Version: 3.3.2 Release: 0 Summary: Object database, tag/metadata database, search tool and indexer License: GPL-2.0-or-later Group: Productivity/Other URL: https://wiki.gnome.org/Projects/Tracker Source0: https://download.gnome.org/sources/tracker/3.3/%{name}-%{version}.tar.xz -# PATCH-FIX-UPSTREAM tracker-do-not-rebuild-non-existing-FTS-tables.patch bsc#1201246 glgo#GNOME/tracker!515 alynx.z...@suse.com -- Prevent rebuilding non-existing FTS tables -Patch0: tracker-do-not-rebuild-non-existing-FTS-tables.patch BuildRequires: asciidoc BuildRequires: fdupes ++++++ tracker-3.3.1.tar.xz -> tracker-3.3.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/.gitlab-ci.yml new/tracker-3.3.2/.gitlab-ci.yml --- old/tracker-3.3.1/.gitlab-ci.yml 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/.gitlab-ci.yml 2022-07-06 17:27:43.000000000 +0200 @@ -387,6 +387,8 @@ - website needs: - build-fedora-container@x86_64 + only: + - master coverage: extends: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/NEWS new/tracker-3.3.2/NEWS --- old/tracker-3.3.1/NEWS 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/NEWS 2022-07-06 17:27:43.000000000 +0200 @@ -1,3 +1,15 @@ +NEW in 3.3.2 - 2022-07-06 +========================= + * Avoid redundant queries in TrackerNotifiers proxied through + an D-Bus connection + * Do not attempt to rebuild non-existing FTS tables on parser + updates + * Convert values to the right type when propagating insertions + over superproperties + * Fix test to handle SQLite >= 3.39.0 + * Fix handling of nrl:modified after opening existing databases + * Linking fixes to CLI executables + NEW in 3.3.1 - 2022-05-31 ========================= * Fixed blank nodes to return the correct identifier in certain diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/docs/reference/libtracker-sparql/devhelp/books/Tracker/Tracker.devhelp2 new/tracker-3.3.2/docs/reference/libtracker-sparql/devhelp/books/Tracker/Tracker.devhelp2 --- old/tracker-3.3.1/docs/reference/libtracker-sparql/devhelp/books/Tracker/Tracker.devhelp2 2022-06-01 02:32:16.314015400 +0200 +++ new/tracker-3.3.2/docs/reference/libtracker-sparql/devhelp/books/Tracker/Tracker.devhelp2 2022-07-06 18:29:52.766692600 +0200 @@ -1,5 +1,5 @@ <?xml version='1.0' encoding='UTF-8'?> -<book xmlns="http://www.devhelp.net/book" title="Tracker 3.3.1" link="index.html" author="hotdoc" name="Tracker" version="2" language="C" online="https://gnome.pages.gitlab.gnome.org/tracker/docs/developer/"> +<book xmlns="http://www.devhelp.net/book" title="Tracker 3.3.2" link="index.html" author="hotdoc" name="Tracker" version="2" language="C" online="https://gnome.pages.gitlab.gnome.org/tracker/docs/developer/"> <chapters> <sub name="Overview" link="overview.html"/> <sub name="Examples" link="examples.html"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/meson.build new/tracker-3.3.2/meson.build --- old/tracker-3.3.1/meson.build 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/meson.build 2022-07-06 17:27:43.000000000 +0200 @@ -1,5 +1,5 @@ project('tracker', 'c', 'vala', - version: '3.3.1', + version: '3.3.2', meson_version: '>=0.51', default_options: [ 'c_std=c99', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-common/.gitignore new/tracker-3.3.2/src/libtracker-common/.gitignore --- old/tracker-3.3.1/src/libtracker-common/.gitignore 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-common/.gitignore 2022-07-06 17:27:43.000000000 +0200 @@ -1,4 +1,3 @@ tracker-turtle-writer.c tracker-turtle-writer.h -tracker-enum-types.[c|h] tracker-parser-sha1.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-common/meson.build new/tracker-3.3.2/src/libtracker-common/meson.build --- old/tracker-3.3.1/src/libtracker-common/meson.build 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-common/meson.build 2022-07-06 17:27:43.000000000 +0200 @@ -1,15 +1,5 @@ subdir('stop-words') -tracker_common_enums_header = files('tracker-enums.h') - -enums = gnome.mkenums('tracker-enum-types', - sources: tracker_common_enums_header, - c_template: 'tracker-enum-types.c.template', - h_template: 'tracker-enum-types.h.template', -) - -tracker_common_enum_header = enums[1] - tracker_common_sources = [ 'tracker-date-time.c', 'tracker-debug.c', @@ -19,7 +9,6 @@ 'tracker-locale.c', 'tracker-parser-utils.c', 'tracker-language.c', - enums[0], enums[1], ] if unicode_library_name == 'icu' @@ -46,7 +35,6 @@ commoninc = include_directories('.') tracker_common_dep = declare_dependency( - sources: [tracker_common_enum_header], link_with: libtracker_common, dependencies: tracker_common_dependencies, include_directories: [configinc, srcinc, commoninc], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-common/tracker-common.h new/tracker-3.3.2/src/libtracker-common/tracker-common.h --- old/tracker-3.3.1/src/libtracker-common/tracker-common.h 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-common/tracker-common.h 2022-07-06 17:27:43.000000000 +0200 @@ -36,7 +36,6 @@ #include "tracker-term-utils.h" #include "tracker-utils.h" #include "tracker-locale.h" -#include "tracker-enum-types.h" #undef __LIBTRACKER_COMMON_INSIDE__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-common/tracker-enum-types.c.template new/tracker-3.3.2/src/libtracker-common/tracker-enum-types.c.template --- old/tracker-3.3.1/src/libtracker-common/tracker-enum-types.c.template 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-common/tracker-enum-types.c.template 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -/*** BEGIN file-header ***/ -#include <config.h> - -#include "tracker-enum-types.h" - -/*** END file-header ***/ - -/*** BEGIN file-production ***/ -/* enumerations from "@basename@" */ -#include "@filename@" -/*** END file-production ***/ - - -/*** BEGIN value-header ***/ -GType -@enum_name@_get_type (void) -{ - static gsize g_define_type_id = 0; - - if (g_once_init_enter (&g_define_type_id)) { - static const G@Type@Value values[] = { -/*** END value-header ***/ - -/*** BEGIN value-production ***/ - { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, -/*** END value-production ***/ - -/*** BEGIN value-tail ***/ - { 0, NULL, NULL } - }; - GType type = - g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); - - g_once_init_leave (&g_define_type_id, type); - } - - return g_define_type_id; -} - -/*** END value-tail ***/ - -/*** BEGIN file-tail ***/ - -/*** END file-tail ***/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-common/tracker-enum-types.h.template new/tracker-3.3.2/src/libtracker-common/tracker-enum-types.h.template --- old/tracker-3.3.1/src/libtracker-common/tracker-enum-types.h.template 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-common/tracker-enum-types.h.template 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -/*** BEGIN file-header ***/ - -#ifndef __TRACKER_ENUMS_TYPES_H__ -#define __TRACKER_ENUMS_TYPES_H__ - -#include <glib-object.h> -#include "tracker-enums.h" - -G_BEGIN_DECLS -/*** END file-header ***/ - -/*** BEGIN file-production ***/ - -/* enumerations from "@basename@" */ -/*** END file-production ***/ - -/*** BEGIN value-header ***/ -GType @enum_name@_get_type (void) G_GNUC_CONST; -#define TRACKER_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) -/*** END value-header ***/ - -/*** BEGIN file-tail ***/ -G_END_DECLS - -#endif /* __TRACKER_ENUMS_TYPES_H__ */ -/*** END file-tail ***/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-common/tracker-enums.h new/tracker-3.3.2/src/libtracker-common/tracker-enums.h --- old/tracker-3.3.1/src/libtracker-common/tracker-enums.h 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-common/tracker-enums.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2011, Nokia <ivan.fr...@nokia.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __TRACKER_ENUMS_H__ -#define __TRACKER_ENUMS_H__ - -G_BEGIN_DECLS - -typedef enum { - TRACKER_SERIALIZATION_FORMAT_SPARQL, - TRACKER_SERIALIZATION_FORMAT_TURTLE, - /* JSON and JSON_LD are treated as the same thing right now, but we could - * treat them differently if we wanted. also it's nice to be able to pass - * both 'json' and 'json-ld' to `tracker extract --output-format=`. - */ - TRACKER_SERIALIZATION_FORMAT_JSON, - TRACKER_SERIALIZATION_FORMAT_JSON_LD, -} TrackerSerializationFormat; - -G_END_DECLS - -#endif /* __TRACKER_ENUMS_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-data/meson.build new/tracker-3.3.2/src/libtracker-data/meson.build --- old/tracker-3.3.1/src/libtracker-data/meson.build 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-data/meson.build 2022-07-06 17:27:43.000000000 +0200 @@ -33,7 +33,6 @@ 'tracker-uuid.c', 'tracker-vtab-service.c', 'tracker-vtab-triples.c', - tracker_common_enum_header, tracker_data_enums[0], tracker_data_enums[1], c_args: tracker_c_args, @@ -50,5 +49,4 @@ link_with: [libtracker_data], dependencies: tracker_data_dependencies, include_directories: include_directories('.'), - sources: enums[1], ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-data/tracker-data-manager.c new/tracker-3.3.2/src/libtracker-data/tracker-data-manager.c --- old/tracker-3.3.1/src/libtracker-data/tracker-data-manager.c 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-data/tracker-data-manager.c 2022-07-06 17:27:43.000000000 +0200 @@ -3831,20 +3831,34 @@ TrackerDBInterface *iface, GError **error) { + TrackerProperty **properties; GHashTableIter iter; gchar *graph; + gboolean has_fts = FALSE; + guint len, i; - g_debug ("Rebuilding FTS tokens, this may take a moment..."); - if (!tracker_db_interface_sqlite_fts_rebuild_tokens (iface, "main", error)) - return FALSE; - - g_hash_table_iter_init (&iter, manager->graphs); - while (g_hash_table_iter_next (&iter, (gpointer*) &graph, NULL)) { - if (!tracker_db_interface_sqlite_fts_rebuild_tokens (iface, graph, error)) + properties = tracker_ontologies_get_properties (manager->ontologies, &len); + + for (i = 0; i < len; i++) { + has_fts |= tracker_property_get_fulltext_indexed (properties[i]); + if (has_fts) + break; + } + + if (has_fts) { + g_debug ("Rebuilding FTS tokens, this may take a moment..."); + if (!tracker_db_interface_sqlite_fts_rebuild_tokens (iface, "main", error)) return FALSE; + + g_hash_table_iter_init (&iter, manager->graphs); + while (g_hash_table_iter_next (&iter, (gpointer*) &graph, NULL)) { + if (!tracker_db_interface_sqlite_fts_rebuild_tokens (iface, graph, error)) + return FALSE; + } + + g_debug ("FTS tokens rebuilt"); } - g_debug ("FTS tokens rebuilt"); /* Update the stamp file */ tracker_db_manager_tokenizer_update (manager->db_manager); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-data/tracker-data-update.c new/tracker-3.3.2/src/libtracker-data/tracker-data-update.c --- old/tracker-3.3.1/src/libtracker-data/tracker-data-update.c 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-data/tracker-data-update.c 2022-07-06 17:27:43.000000000 +0200 @@ -406,6 +406,8 @@ TrackerDBCursor *cursor = NULL; TrackerDBInterface *temp_iface; TrackerDBStatement *stmt; + TrackerOntologies *ontologies; + TrackerProperty *property; GError *inner_error = NULL; gint max_modseq = 0; @@ -414,9 +416,13 @@ return TRUE; temp_iface = tracker_data_manager_get_writable_db_interface (data->manager); + ontologies = tracker_data_manager_get_ontologies (data->manager); + property = tracker_ontologies_get_property_by_uri (ontologies, TRACKER_PREFIX_NRL "modified"); - stmt = tracker_db_interface_create_statement (temp_iface, TRACKER_DB_STATEMENT_CACHE_TYPE_SELECT, &inner_error, - "SELECT MAX(\"nrl:modified\") AS A FROM \"rdfs:Resource\""); + stmt = tracker_db_interface_create_vstatement (temp_iface, TRACKER_DB_STATEMENT_CACHE_TYPE_SELECT, &inner_error, + "SELECT MAX(object) FROM tracker_triples " + "WHERE predicate = %" G_GINT64_FORMAT, + tracker_property_get_id (property)); if (stmt) { cursor = tracker_db_statement_start_cursor (stmt, &inner_error); @@ -1776,6 +1782,36 @@ } static gboolean +maybe_convert_value (TrackerData *data, + TrackerPropertyType source, + TrackerPropertyType target, + const GValue *value, + GValue *value_out) +{ + if (source == TRACKER_PROPERTY_TYPE_RESOURCE && + target == TRACKER_PROPERTY_TYPE_STRING && + G_VALUE_HOLDS_INT64 (value)) { + TrackerDBInterface *iface; + gchar *str; + + iface = tracker_data_manager_get_writable_db_interface (data->manager); + str = tracker_data_query_resource_urn (data->manager, iface, + g_value_get_int64 (value)); + + if (!str) { + str = g_strdup_printf ("urn:bnode:%" G_GINT64_FORMAT, + g_value_get_int64 (value)); + } + + g_value_init (value_out, G_TYPE_STRING); + g_value_take_string (value_out, str); + return TRUE; + } + + return FALSE; +} + +static gboolean cache_insert_metadata_decomposed (TrackerData *data, TrackerProperty *property, const GValue *object, @@ -1806,6 +1842,8 @@ while (*super_properties) { gboolean super_is_multi; GArray *super_old_values; + GValue converted = G_VALUE_INIT; + const GValue *val; super_is_multi = tracker_property_get_multiple_values (*super_properties); super_old_values = get_old_property_values (data, *super_properties, &new_error); @@ -1817,14 +1855,25 @@ data->resource_buffer->fts_updated |= tracker_property_get_fulltext_indexed (*super_properties); + if (maybe_convert_value (data, + tracker_property_get_data_type (property), + tracker_property_get_data_type (*super_properties), + object, + &converted)) + val = &converted; + else + val = object; + if (super_is_multi || super_old_values->len == 0) { - change |= cache_insert_metadata_decomposed (data, *super_properties, object, + change |= cache_insert_metadata_decomposed (data, *super_properties, val, &new_error); if (new_error) { + g_value_unset (&converted); g_propagate_error (error, new_error); return FALSE; } } + g_value_unset (&converted); super_properties++; } @@ -1951,8 +2000,21 @@ /* also delete super property values */ super_properties = tracker_property_get_super_properties (property); while (*super_properties) { - change |= delete_metadata_decomposed (data, *super_properties, object, error); + GValue converted = G_VALUE_INIT; + const GValue *val; + + if (maybe_convert_value (data, + tracker_property_get_data_type (property), + tracker_property_get_data_type (*super_properties), + object, + &converted)) + val = &converted; + else + val = object; + + change |= delete_metadata_decomposed (data, *super_properties, val, error); super_properties++; + g_value_unset (&converted); } return change; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-sparql/bus/meson.build new/tracker-3.3.2/src/libtracker-sparql/bus/meson.build --- old/tracker-3.3.1/src/libtracker-sparql/bus/meson.build 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-sparql/bus/meson.build 2022-07-06 17:27:43.000000000 +0200 @@ -5,7 +5,6 @@ 'tracker-bus-fd-cursor.vala', 'tracker-bus-statement.vala', '../../libtracker-common/libtracker-common.vapi', - tracker_common_enum_header, c_args: tracker_c_args + [ '-include', 'libtracker-sparql/tracker-private.h', ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-sparql/tracker-endpoint-dbus.c new/tracker-3.3.2/src/libtracker-sparql/tracker-endpoint-dbus.c --- old/tracker-3.3.1/src/libtracker-sparql/tracker-endpoint-dbus.c 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-sparql/tracker-endpoint-dbus.c 2022-07-06 17:27:43.000000000 +0200 @@ -43,6 +43,7 @@ #include "tracker-endpoint-dbus.h" #include "tracker-notifier.h" +#include "tracker-notifier-private.h" #include "tracker-private.h" #include <gio/gio.h> @@ -1008,6 +1009,7 @@ conn = tracker_endpoint_get_sparql_connection (endpoint); endpoint_dbus->notifier = tracker_sparql_connection_create_notifier (conn); + tracker_notifier_disable_urn_query (endpoint_dbus->notifier); g_signal_connect (endpoint_dbus->notifier, "events", G_CALLBACK (notifier_events_cb), endpoint); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-sparql/tracker-notifier-private.h new/tracker-3.3.2/src/libtracker-sparql/tracker-notifier-private.h --- old/tracker-3.3.1/src/libtracker-sparql/tracker-notifier-private.h 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-sparql/tracker-notifier-private.h 2022-07-06 17:27:43.000000000 +0200 @@ -39,4 +39,6 @@ void _tracker_notifier_event_cache_flush_events (TrackerNotifierEventCache *cache); +void tracker_notifier_disable_urn_query (TrackerNotifier *notifier); + #endif /* __TRACKER_NOTIFIER_PRIVATE_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/libtracker-sparql/tracker-notifier.c new/tracker-3.3.2/src/libtracker-sparql/tracker-notifier.c --- old/tracker-3.3.1/src/libtracker-sparql/tracker-notifier.c 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/libtracker-sparql/tracker-notifier.c 2022-07-06 17:27:43.000000000 +0200 @@ -74,7 +74,8 @@ TrackerSparqlStatement *local_statement; GAsyncQueue *queue; gint n_local_statement_slots; - gboolean querying; + guint querying : 1; + guint urn_query_disabled : 1; GMutex mutex; }; @@ -633,7 +634,9 @@ cache->first = g_sequence_get_begin_iter (cache->sequence); g_async_queue_lock (priv->queue); - if (priv->querying) { + if (priv->urn_query_disabled) { + tracker_notifier_emit_events_in_idle (cache); + } else if (priv->querying) { g_async_queue_push_unlocked (priv->queue, cache); } else { priv->querying = TRUE; @@ -946,3 +949,12 @@ g_return_val_if_fail (event != NULL, NULL); return event->urn; } + +void +tracker_notifier_disable_urn_query (TrackerNotifier *notifier) +{ + TrackerNotifierPrivate *priv; + + priv = tracker_notifier_get_instance_private (notifier); + priv->urn_query_disabled = TRUE; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/src/tracker/meson.build new/tracker-3.3.2/src/tracker/meson.build --- old/tracker-3.3.1/src/tracker/meson.build 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/src/tracker/meson.build 2022-07-06 17:27:43.000000000 +0200 @@ -27,7 +27,7 @@ ], install: true, install_rpath: tracker_internal_libs_dir, - dependencies: [tracker_sparql_dep, tracker_data_dep], + dependencies: [tracker_common_dep, tracker_sparql_dep, tracker_data_dep], include_directories: [commoninc, configinc, srcinc], ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tracker-3.3.1/tests/libtracker-data/algebra/filter-scope-1.rq new/tracker-3.3.2/tests/libtracker-data/algebra/filter-scope-1.rq --- old/tracker-3.3.1/tests/libtracker-data/algebra/filter-scope-1.rq 2022-05-31 12:51:53.000000000 +0200 +++ new/tracker-3.3.2/tests/libtracker-data/algebra/filter-scope-1.rq 2022-07-06 17:27:43.000000000 +0200 @@ -7,3 +7,4 @@ OPTIONAL { :x :p ?v2 FILTER(?v = 1) } } } +ORDER BY ?v ?w ?v2