tracker: update to 3.4.1.

This commit is contained in:
oreo639 2022-12-01 23:17:36 -08:00 committed by Michal Vasilek
parent 43e86ba017
commit 8b10d896e8
2 changed files with 46 additions and 3 deletions

View File

@ -0,0 +1,43 @@
From d54f5ae5b296937ff58233a9a283f46ae2800af2 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Sun, 20 Nov 2022 12:16:58 +0100
Subject: [PATCH] core: Handle ROWIDs turned into strings in SparqlPrintIRI()
Even though normally we expect ROWIDs to preserve numeric affinity
when we proceed to print their IRI in the higher parts of the query,
it is not guaranteed by the SQLite documentation:
"Whether or not a persistent internal datatype conversion occurs
is undefined and may change from one release of SQLite to the next."
And this in fact changed for the core/property-paths/alternative-path-3
unit test, where it does the '|' union of text and resource (i.e. ROWIDs)
properties. Since SQLite 3.40.0, the SparqlPrintIRI() happening in the
topmost select will get SQLITE_TEXT affinity for all ROWID values received
through the union.
In order to work with both older and newer version of SQLite, attempt to
force integer affinity so ROWID IRIs are correctly resolved instead of
being interpreted as IRI strings.
Closes: https://gitlab.gnome.org/GNOME/tracker/-/issues/387
---
src/libtracker-sparql/core/tracker-db-interface-sqlite.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
index ca1ebb985..68f6bd310 100644
--- a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
+++ b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
@@ -1901,7 +1901,7 @@ function_sparql_print_iri (sqlite3_context *context,
return;
}
- if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) {
+ if (sqlite3_value_numeric_type (argv[0]) == SQLITE_INTEGER) {
sqlite3_stmt *stmt;
gboolean store_auxdata = FALSE;
sqlite3 *db;
--
GitLab

View File

@ -1,7 +1,7 @@
# Template file for 'tracker'
pkgname=tracker
version=3.4.0
revision=2
version=3.4.1
revision=1
build_style=meson
build_helper="gir"
configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
@ -17,7 +17,7 @@ license="GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/Projects/Tracker"
changelog="https://gitlab.gnome.org/GNOME/tracker/-/raw/master/NEWS"
distfiles="${GNOME_SITE}/tracker/${version%.*}/tracker-${version}.tar.xz"
checksum=b3b380c9571d7c7423b5f401e4a2f2d78de47143b035eb2c1281e2423c59218b
checksum=ea9d41a9fb9c2b42ad80fc2c82327b5c713d594c969b09e1a49be63fb74f4fae
make_check_pre="dbus-run-session"
if [ "$CROSS_BUILD" ]; then