[tracker/wip/carlosg/photos-fixes: 3/6] libtracker-data: Fix SQL generation with ValuesClause in SubSelect
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/photos-fixes: 3/6] libtracker-data: Fix SQL generation with ValuesClause in SubSelect
- Date: Fri, 21 Aug 2020 13:22:41 +0000 (UTC)
commit c1017b295b93622dec395387c185d9d81f9e3990
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Aug 21 15:08:11 2020 +0200
libtracker-data: Fix SQL generation with ValuesClause in SubSelect
The generated SQL was prepended the preceding "SELECT * FROM (" at a
wrong place. Make it sure that we pop strings at the right place so
that it's prepended where it would be expected.
src/libtracker-data/tracker-sparql.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index ace879869..1b369247c 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -3017,9 +3017,6 @@ translate_SubSelect (TrackerSparql *sparql,
_call_rule (sparql, NAMED_RULE_WhereClause, error);
_call_rule (sparql, NAMED_RULE_SolutionModifier, error);
- _call_rule (sparql, NAMED_RULE_ValuesClause, error);
-
- tracker_sparql_swap_builder (sparql, old);
/* Now that we have all variable/binding information available,
* process the select clause.
@@ -3027,6 +3024,10 @@ translate_SubSelect (TrackerSparql *sparql,
if (!_postprocess_rule (sparql, select_clause, select, error))
return FALSE;
+ tracker_sparql_swap_builder (sparql, old);
+
+ _call_rule (sparql, NAMED_RULE_ValuesClause, error);
+
sparql->current_state.expression_type = TRACKER_SELECT_CONTEXT (context)->type;
tracker_sparql_pop_context (sparql, FALSE);
sparql->current_state.select_context = prev;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]