diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2020-08-18 22:09:16 +0200 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2020-09-02 12:17:31 +0200 |
commit | ae2669dcf8695260c7f3385bec836b92bcb57f5c (patch) | |
tree | 724724a01c54285fc5ea6457a08db358fad7eab7 | |
parent | 793d8da87695b4abcf7a1fe916e9ed8b3daeab88 (diff) | |
download | nautilus-ae2669dcf8695260c7f3385bec836b92bcb57f5c.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); |