[tracker] SPARQL: Avoid ambiguous column names when using OPTIONAL and FILTER



commit dd7bd57f0525fcdc4bb5bba291aa6b175021cb2e
Author: Jürg Billeter <j bitron ch>
Date:   Thu Oct 8 15:01:39 2009 +0200

    SPARQL: Avoid ambiguous column names when using OPTIONAL and FILTER
    
    Fixes NB#142257.

 src/libtracker-data/tracker-sparql-query.vala |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala
index 99dc217..34d5643 100644
--- a/src/libtracker-data/tracker-sparql-query.vala
+++ b/src/libtracker-data/tracker-sparql-query.vala
@@ -2126,6 +2126,11 @@ public class Tracker.SparqlQuery : Object {
 
 					select.append (" FROM (");
 					sql.insert (group_graph_pattern_start, select.str);
+
+					// surround with SELECT * FROM (...) to avoid ambiguous column names
+					// in SQL generated for FILTER (triggered by using table aliases for join sources)
+					sql.insert (group_graph_pattern_start, "SELECT * FROM (");
+					sql.append (")");
 				}
 			} else if (current () == SparqlTokenType.OPEN_BRACE) {
 				if (!in_triples_block && !in_group_graph_pattern) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]