summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-05-28 11:23:51 +0200
committerJean Felder <jean.felder@gmail.com>2020-08-21 15:05:11 +0000
commit353f6346584ce31b9a7dd580bbc2b452b0f7d1f3 (patch)
treea7b6bce0d6343ce71518d598fe6e7ed8af4cee25
parentf3d76edc2898c30310a00d8f98cecafba0462dbc (diff)
downloadgrilo-plugins-353f6346584ce31b9a7dd580bbc2b452b0f7d1f3.tar.gz
tracker3: Allow again full queries in grl_source_query()
GNOME Music strongly relies on this.
-rw-r--r--src/tracker3/grl-tracker-source-api.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/tracker3/grl-tracker-source-api.c b/src/tracker3/grl-tracker-source-api.c
index fa603d4..cf82015 100644
--- a/src/tracker3/grl-tracker-source-api.c
+++ b/src/tracker3/grl-tracker-source-api.c
@@ -602,13 +602,21 @@ grl_tracker_source_query (GrlSource *source,
goto send_error;
}
- statement =
- grl_tracker_source_create_statement (GRL_TRACKER_SOURCE (source),
- GRL_TRACKER_QUERY_ALL,
- qs->options,
- qs->keys,
- qs->query,
- &error);
+ if (g_ascii_strncasecmp (qs->query, "select ", 7) == 0) {
+ statement =
+ tracker_sparql_connection_query_statement (GRL_TRACKER_SOURCE (source)->priv->tracker_connection,
+ qs->query,
+ NULL, &error);
+ } else {
+ statement =
+ grl_tracker_source_create_statement (GRL_TRACKER_SOURCE (source),
+ GRL_TRACKER_QUERY_ALL,
+ qs->options,
+ qs->keys,
+ qs->query,
+ &error);
+ }
+
if (!statement)
goto send_error;