diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2020-08-18 22:09:16 +0200 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2020-08-29 16:23:33 +0200 |
commit | 8e140fa69c9a8f304a148e7e967a69ff2d9fda17 (patch) | |
tree | 922cc01068848c9bd6343b2f05d70b31a47cdc4c | |
parent | edc193f591c7b5eb00d8505e48fa500021bc8048 (diff) | |
download | nautilus-8e140fa69c9a8f304a148e7e967a69ff2d9fda17.tar.gz |
Use STRSTARTS in preference to tracker:uri-is-descendant() function
In current versions of Tracker, using STRSTARTS to compare URIs is
faster than using Tracker's custom tracker:uri-is-descendant() function.
The former allows SQLite to use an index while the latter does not.
-rw-r--r-- | src/nautilus-search-engine-tracker.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nautilus-search-engine-tracker.c b/src/nautilus-search-engine-tracker.c index 82876368a..cff28eb71 100644 --- a/src/nautilus-search-engine-tracker.c +++ b/src/nautilus-search-engine-tracker.c @@ -384,7 +384,10 @@ nautilus_search_engine_tracker_start (NautilusSearchProvider *provider) } else { - g_string_append_printf (sparql, "tracker:uri-is-descendant('%s', ?url)", location_uri); + /* STRSTARTS is faster than tracker:uri-is-descendant(). + * See https://gitlab.gnome.org/GNOME/tracker/-/issues/243 + */ + g_string_append_printf (sparql, "STRSTARTS(?url, '%s/')", location_uri); } date_range = nautilus_query_get_date_range (tracker->query); |