diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-05-22 16:32:01 +0200 |
---|---|---|
committer | Jean Felder <jean.felder@gmail.com> | 2020-08-21 15:05:10 +0000 |
commit | e8b6b97b4864002324a33592571e624f208a4a60 (patch) | |
tree | b3b16fba746541adab4eddc905251afaa38689c4 | |
parent | b48044d9dbed68eebe5941fed49ce8e3a7cece89 (diff) | |
download | grilo-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.c | 31 |
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", |