[tracker/parser] Putting ASK support back in place
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker/parser] Putting ASK support back in place
- Date: Wed, 5 Aug 2009 15:06:18 +0000 (UTC)
commit d0d84c043db0a5240d15eb51cb65436af8be8554
Author: Philip Van Hoof <philip codeminded be>
Date: Wed Aug 5 17:04:43 2009 +0200
Putting ASK support back in place
src/libtracker-data/tracker-sparql-query.vala | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala
index b5db457..da6851e 100644
--- a/src/libtracker-data/tracker-sparql-query.vala
+++ b/src/libtracker-data/tracker-sparql-query.vala
@@ -337,8 +337,6 @@ public class Tracker.SparqlQuery : Object {
}
#endif
- private bool is_ask { get; set; }
-
inline bool next () {
index = (index + 1) % BUFFER_SIZE;
size--;
@@ -432,7 +430,6 @@ public class Tracker.SparqlQuery : Object {
} else if (current () == SparqlTokenType.DESCRIBE) {
throw new SparqlError.INTERNAL ("DESCRIBE is not supported");
} else if (current () == SparqlTokenType.ASK) {
- is_ask = true;
return execute_select ();
} else {
throw new SparqlError.PARSE ("DELETE and INSERT are not supported in query mode");
@@ -508,7 +505,9 @@ public class Tracker.SparqlQuery : Object {
}
DBResultSet? execute_select () throws Error {
- // SELECT query
+ bool is_ask = false;
+
+ // SELECT or ASK query
pattern_sql = new StringBuilder ();
var_map = new HashTable<string,VariableBinding>.full (str_hash, str_equal, g_free, g_object_unref);
@@ -520,7 +519,11 @@ public class Tracker.SparqlQuery : Object {
var sql = new StringBuilder ();
sql.append ("SELECT ");
- expect (SparqlTokenType.SELECT);
+ if (accept (SparqlTokenType.ASK)) {
+ is_ask = true;
+ } else {
+ expect (SparqlTokenType.SELECT);
+ }
if (accept (SparqlTokenType.DISTINCT)) {
sql.append ("DISTINCT ");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]