summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-05-22 16:32:01 +0200
committerJean Felder <jean.felder@gmail.com>2020-08-21 15:05:10 +0000
commite8b6b97b4864002324a33592571e624f208a4a60 (patch)
treeb3b16fba746541adab4eddc905251afaa38689c4
parentb48044d9dbed68eebe5941fed49ce8e3a7cece89 (diff)
downloadgrilo-plugins-e8b6b97b4864002324a33592571e624f208a4a60.tar.gz
tracker3: Port test_media_from_uri() to the statement cache
This is essentially a GRL_TRACKER_QUERY_MEDIA_FROM_URI with no additional keys or filters.
-rw-r--r--src/tracker3/grl-tracker-source-api.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/src/tracker3/grl-tracker-source-api.c b/src/tracker3/grl-tracker-source-api.c
index 44bbb97..7934c42 100644
--- a/src/tracker3/grl-tracker-source-api.c
+++ b/src/tracker3/grl-tracker-source-api.c
@@ -129,15 +129,6 @@ GRL_LOG_DOMAIN_STATIC(tracker_source_result_log_domain);
"DELETE { <%s> %s } WHERE { <%s> a nfo:Media . %s } " \
"INSERT { <%s> a nfo:Media ; %s . }"
-#define TRACKER_TEST_MEDIA_FROM_URI_REQUEST \
- "SELECT ?urn " \
- "WHERE " \
- "{ " \
- "?urn nie:url \"%s\" ; " \
- "tracker:available true ; " \
- "a nfo:Media . " \
- "}"
-
/**/
/**/
@@ -1262,20 +1253,24 @@ gboolean
grl_tracker_source_test_media_from_uri (GrlSource *source,
const gchar *uri)
{
- GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
GError *error = NULL;
TrackerSparqlCursor *cursor;
+ TrackerSparqlStatement *statement;
gboolean empty;
- gchar *sparql_final;
- sparql_final = g_strdup_printf (TRACKER_TEST_MEDIA_FROM_URI_REQUEST,
- uri);
+ statement = grl_tracker_source_create_statement (GRL_TRACKER_SOURCE (source),
+ GRL_TRACKER_QUERY_MEDIA_FROM_URI,
+ NULL, NULL, NULL,
+ &error);
+ if (!statement) {
+ g_critical ("Error creating statement: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
- cursor = tracker_sparql_connection_query (grl_tracker_connection,
- sparql_final,
- NULL,
- &error);
- g_free (sparql_final);
+ tracker_sparql_statement_bind_string (statement, "uri", uri);
+ cursor = tracker_sparql_statement_execute (statement, NULL, &error);
+ g_object_unref (statement);
if (error) {
GRL_WARNING ("Error when executig sparql query: %s",