[tracker/wip/carlosg/joining-services: 1/5] libtracker-data: Interpret bindings from a service table as strings
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/joining-services: 1/5] libtracker-data: Interpret bindings from a service table as strings
- Date: Wed, 13 May 2020 11:51:49 +0000 (UTC)
commit 9ad9aff97ad320d66f5eb98693202b2124156a06
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed May 13 10:47:44 2020 +0200
libtracker-data: Interpret bindings from a service table as strings
This is basically so we can handle resources being given to us as URIs
instead of numeric IDs, as the services table does. This is a rough shot,
as we can't infer from the query the actual types that a variable might
hold, however all other types should cast properly from/to strings, so
this shouldn't pose a problem.
This makes other places in the query aware that the variable is bound as
a "string" somewhere else in the query, and act accordingly.
src/libtracker-data/tracker-sparql.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index 111306033..12e76c306 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -4651,9 +4651,9 @@ translate_ServiceGraphPattern (TrackerSparql *sparql,
var = _extract_node_variable (node, sparql);
variables = g_list_prepend (variables, var);
binding = tracker_variable_binding_new (var, NULL, NULL);
+ tracker_binding_set_data_type (binding, TRACKER_PROPERTY_TYPE_STRING);
_add_binding (sparql, binding);
-
_append_string_printf (sparql, "col%d AS %s ",
i, tracker_variable_get_sql_expression (var));
g_string_append_printf (service_sparql, "?%s ", var_str);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]