From 2a5a5558e8a5e1c1c556a30c8134649c00de0cfb Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 18 Oct 2015 22:01:38 +0200 Subject: libtracker-data: Relate Variable objects to their origin Context It will be necessary so we can figure out at query construction time whether we are in a scope where we can use the variable alias or not. --- src/libtracker-data/tracker-sparql-query.vala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala index 301de7ba6..e610757c6 100644 --- a/src/libtracker-data/tracker-sparql-query.vala +++ b/src/libtracker-data/tracker-sparql-query.vala @@ -83,12 +83,14 @@ namespace Tracker.Sparql { public string sql_expression { get; private set; } public VariableBinding binding; string sql_identifier; + public Context origin_context { get; private set; } - public Variable (string name, int index) { + public Variable (string name, int index, Context context) { this.name = name; this.index = index; this.sql_identifier = "%d_u".printf (index); this.sql_expression = "\"%s\"".printf (sql_identifier); + this.origin_context = context; } public string get_extra_sql_expression (string suffix) { @@ -151,7 +153,7 @@ namespace Tracker.Sparql { internal unowned Variable get_variable (string name) { unowned Variable result = this.var_map.lookup (name); if (result == null) { - var variable = new Variable (name, ++query.last_var_index); + var variable = new Variable (name, ++query.last_var_index, this); this.var_map.insert (name, variable); result = variable; -- cgit v1.2.1