summaryrefslogtreecommitdiff
path: root/src/libtracker-data/tracker-sparql-expression.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtracker-data/tracker-sparql-expression.vala')
-rw-r--r--src/libtracker-data/tracker-sparql-expression.vala10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libtracker-data/tracker-sparql-expression.vala b/src/libtracker-data/tracker-sparql-expression.vala
index 96270cfc5..210fdff84 100644
--- a/src/libtracker-data/tracker-sparql-expression.vala
+++ b/src/libtracker-data/tracker-sparql-expression.vala
@@ -1687,7 +1687,17 @@ class Tracker.Sparql.Expression : Object {
if (accept (SparqlTokenType.DISTINCT)) {
sql.append ("DISTINCT ");
}
+
+ bool is_var = (current () == SparqlTokenType.VAR);
var optype = translate_expression (sql);
+
+ if (is_var) {
+ var variable = context.get_variable (get_last_string ().substring (1));
+ if (variable.binding == null) {
+ throw get_error ("use of undefined variable `%s'".printf (variable.name));
+ }
+ }
+
expect (SparqlTokenType.CLOSE_PARENS);
return optype;
}