[arch-commits] Commit in tracker/repos/extra-x86_64 (4 files)
Jan Steffens
heftig at gemini.archlinux.org
Wed Jun 1 21:15:23 UTC 2022
Date: Wednesday, June 1, 2022 @ 21:15:23
Author: heftig
Revision: 447440
archrelease: copy trunk to extra-x86_64
Added:
tracker/repos/extra-x86_64/0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch
(from rev 447438, tracker/trunk/0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch)
tracker/repos/extra-x86_64/PKGBUILD
(from rev 447438, tracker/trunk/PKGBUILD)
Deleted:
tracker/repos/extra-x86_64/0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch
tracker/repos/extra-x86_64/PKGBUILD
---------------------------------------------------------+
0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch | 112 +++++++-------
PKGBUILD | 100 ++++++------
2 files changed, 106 insertions(+), 106 deletions(-)
Deleted: 0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch
===================================================================
--- 0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch 2022-06-01 21:15:23 UTC (rev 447439)
+++ 0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch 2022-06-01 21:15:23 UTC (rev 447440)
@@ -1,56 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg at gnome.org>
-Date: Sun, 21 Mar 2021 17:38:48 +0100
-Subject: [PATCH] libtracker-data: Workaround SQLite 3.35.x bug
-
-The optimization for UNION ALLs inside JOINs had another unexpected
-victim:
-
- SELECT * { GRAPH ?g { ?a ... OPTIONAL { ?a ... } } }
-
-Does now break when matching the graph between both sides of the
-LEFT JOIN caused by OPTIONAL, making all other values coming from
-the right hand side come back empty. Make it sure this specific case
-is ineligible for query flattening optimizations by adding a LIMIT
-clause on the right hand side of the LEFT JOIN. This brings back
-correct over fast.
-
-This workaround should be revisited when a SQLite fix is available.
----
- src/libtracker-data/tracker-sparql.c | 22 +++++++++++++++++++++-
- 1 file changed, 21 insertions(+), 1 deletion(-)
-
-diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
-index e36d2341e..60e50c611 100644
---- a/src/libtracker-data/tracker-sparql.c
-+++ b/src/libtracker-data/tracker-sparql.c
-@@ -3170,8 +3170,28 @@ translate_OptionalGraphPattern (TrackerSparql *sparql,
-
- _call_rule (sparql, NAMED_RULE_GroupGraphPattern, error);
-
-- if (do_join)
-+ if (do_join) {
-+ /* FIXME: This is a workaround for SQLite 3.35.x, where
-+ * the optimization on UNION ALLs inside JOINs (Point 8c in
-+ * the 3.35.0 release notes) break in this very specific
-+ * case:
-+ *
-+ * SELECT * { GRAPH ?g { ?a ... OPTIONAL { ?a ... } } }
-+ *
-+ * This is a workaround to make this one case ineligible
-+ * for query flattening optimizations, specifically make
-+ * it fall through case 8 in the list at
-+ * https://sqlite.org/optoverview.html#flattening,
-+ * "The subquery does not use LIMIT or the outer query is not
-+ * a join.", we will now meet both here.
-+ *
-+ * This should be evaluated again in future SQLite versions.
-+ */
-+ if (tracker_token_get_variable (&sparql->current_state.graph))
-+ _append_string (sparql, "LIMIT -1 ");
-+
- _append_string (sparql, ") ");
-+ }
-
- return TRUE;
- }
Copied: tracker/repos/extra-x86_64/0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch (from rev 447438, tracker/trunk/0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch)
===================================================================
--- 0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch (rev 0)
+++ 0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch 2022-06-01 21:15:23 UTC (rev 447440)
@@ -0,0 +1,56 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg at gnome.org>
+Date: Sun, 21 Mar 2021 17:38:48 +0100
+Subject: [PATCH] libtracker-data: Workaround SQLite 3.35.x bug
+
+The optimization for UNION ALLs inside JOINs had another unexpected
+victim:
+
+ SELECT * { GRAPH ?g { ?a ... OPTIONAL { ?a ... } } }
+
+Does now break when matching the graph between both sides of the
+LEFT JOIN caused by OPTIONAL, making all other values coming from
+the right hand side come back empty. Make it sure this specific case
+is ineligible for query flattening optimizations by adding a LIMIT
+clause on the right hand side of the LEFT JOIN. This brings back
+correct over fast.
+
+This workaround should be revisited when a SQLite fix is available.
+---
+ src/libtracker-data/tracker-sparql.c | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
+index e36d2341e684..60e50c611ab8 100644
+--- a/src/libtracker-data/tracker-sparql.c
++++ b/src/libtracker-data/tracker-sparql.c
+@@ -3170,8 +3170,28 @@ translate_OptionalGraphPattern (TrackerSparql *sparql,
+
+ _call_rule (sparql, NAMED_RULE_GroupGraphPattern, error);
+
+- if (do_join)
++ if (do_join) {
++ /* FIXME: This is a workaround for SQLite 3.35.x, where
++ * the optimization on UNION ALLs inside JOINs (Point 8c in
++ * the 3.35.0 release notes) break in this very specific
++ * case:
++ *
++ * SELECT * { GRAPH ?g { ?a ... OPTIONAL { ?a ... } } }
++ *
++ * This is a workaround to make this one case ineligible
++ * for query flattening optimizations, specifically make
++ * it fall through case 8 in the list at
++ * https://sqlite.org/optoverview.html#flattening,
++ * "The subquery does not use LIMIT or the outer query is not
++ * a join.", we will now meet both here.
++ *
++ * This should be evaluated again in future SQLite versions.
++ */
++ if (tracker_token_get_variable (&sparql->current_state.graph))
++ _append_string (sparql, "LIMIT -1 ");
++
+ _append_string (sparql, ") ");
++ }
+
+ return TRUE;
+ }
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2022-06-01 21:15:23 UTC (rev 447439)
+++ PKGBUILD 2022-06-01 21:15:23 UTC (rev 447440)
@@ -1,50 +0,0 @@
-# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
-# Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
-# Contributor: Alexander Fehr <pizzapunk gmail com>
-
-pkgname=tracker
-pkgver=2.3.6+7+gb27396252
-pkgrel=4
-pkgdesc="Desktop-neutral user information store, search tool and indexer"
-url="https://wiki.gnome.org/Projects/Tracker"
-arch=(x86_64)
-license=(GPL)
-depends=(sqlite icu glib2 libffi util-linux libstemmer libseccomp libsoup
- json-glib upower libnm)
-makedepends=(gobject-introspection vala git bash-completion meson)
-checkdepends=(python-gobject python-dbus)
-provides=(libtracker-{control,miner,sparql}-2.0.so)
-groups=(gnome)
-_commit=b2739625209c564192b339814264084046e1cf17 # tracker-2.3
-source=("git+https://gitlab.gnome.org/GNOME/tracker.git#commit=$_commit"
- 0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch)
-sha256sums=('SKIP'
- '00885d437f9257dbba0acad7bae0b9827c1ea09e3ff32727e3217469f3662920')
-
-pkgver() {
- cd $pkgname
- git describe --tags | sed 's/_/./g;s/-/+/g'
-}
-
-prepare() {
- cd $pkgname
-
- # https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/382
- git apply -3 ../0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch
-
- # test crashes meson: https://github.com/mesonbuild/meson/issues/8591
- sed -i '/tracker-steroids/d' tests/meson.build
-}
-
-build() {
- arch-meson $pkgname build
- meson compile -C build
-}
-
-check() {
- dbus-run-session meson test -C build --print-errorlogs -t 3
-}
-
-package() {
- DESTDIR="$pkgdir" meson install -C build
-}
Copied: tracker/repos/extra-x86_64/PKGBUILD (from rev 447438, tracker/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2022-06-01 21:15:23 UTC (rev 447440)
@@ -0,0 +1,50 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+pkgname=tracker
+pkgver=2.3.6+r7+gb27396252
+pkgrel=1
+epoch=1
+pkgdesc="Desktop-neutral user information store, search tool and indexer"
+url="https://wiki.gnome.org/Projects/Tracker"
+arch=(x86_64)
+license=(GPL)
+depends=(sqlite icu glib2 libffi util-linux libstemmer libseccomp json-glib
+ libsoup upower libnm)
+makedepends=(gobject-introspection vala git bash-completion meson)
+checkdepends=(python-gobject python-dbus)
+provides=(libtracker-{control,miner,sparql}-2.0.so)
+options=(debug)
+_commit=b2739625209c564192b339814264084046e1cf17 # tracker-2.3
+source=("git+https://gitlab.gnome.org/GNOME/tracker.git#commit=$_commit"
+ 0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch)
+sha256sums=('SKIP'
+ '2dc030fb047e99420bd330d5eee1fd70bd26a7ee0adf31f90c724bd0732ed67d')
+
+pkgver() {
+ cd tracker
+ git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
+}
+
+prepare() {
+ cd tracker
+
+ # https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/382
+ git apply -3 ../0001-libtracker-data-Workaround-SQLite-3.35.x-bug.patch
+}
+
+build() {
+ arch-meson tracker build
+ meson compile -C build
+}
+
+check() {
+ dbus-run-session meson test -C build --print-errorlogs -t 3
+}
+
+package() {
+ meson install -C build --destdir "$pkgdir"
+}
+
+# vim:set sw=2 et:
More information about the arch-commits
mailing list