summaryrefslogtreecommitdiff
path: root/src/libtracker-sparql/tracker-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtracker-sparql/tracker-connection.c')
-rw-r--r--src/libtracker-sparql/tracker-connection.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/libtracker-sparql/tracker-connection.c b/src/libtracker-sparql/tracker-connection.c
index a62eb21cc..fcc4ba3b3 100644
--- a/src/libtracker-sparql/tracker-connection.c
+++ b/src/libtracker-sparql/tracker-connection.c
@@ -789,6 +789,7 @@ tracker_sparql_connection_load_statement_from_gresource (TrackerSparqlConnection
{
TrackerSparqlStatement *stmt;
GBytes *query;
+ GError *inner_error1 = NULL, *inner_error2 = NULL;
g_return_val_if_fail (TRACKER_IS_SPARQL_CONNECTION (connection), NULL);
g_return_val_if_fail (resource_path && *resource_path, NULL);
@@ -805,7 +806,21 @@ tracker_sparql_connection_load_statement_from_gresource (TrackerSparqlConnection
g_bytes_get_data (query,
NULL),
cancellable,
- error);
+ &inner_error1);
+
+ if (inner_error1) {
+ stmt = TRACKER_SPARQL_CONNECTION_GET_CLASS (connection)->update_statement (connection,
+ g_bytes_get_data (query,
+ NULL),
+ cancellable,
+ &inner_error2);
+ if (inner_error1 && inner_error2) {
+ /* Pick one */
+ g_propagate_error (error, inner_error1);
+ g_clear_error (&inner_error2);
+ }
+ }
+
g_bytes_unref (query);
return stmt;