[tracker/parser: 3/12] Putting ASK support back in place
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker/parser: 3/12] Putting ASK support back in place
- Date: Mon, 10 Aug 2009 08:48:13 +0000 (UTC)
commit 0146ee82742f57ee3efd1ee3c9adf5dd7396a8d5
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 eb513a1..39d6100 100644
--- a/src/libtracker-data/tracker-sparql-query.vala
+++ b/src/libtracker-data/tracker-sparql-query.vala
@@ -342,8 +342,6 @@ public class Tracker.SparqlQuery : Object {
}
#endif
- private bool is_ask { get; set; }
-
inline bool next () {
index = (index + 1) % BUFFER_SIZE;
size--;
@@ -437,7 +435,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");
@@ -513,7 +510,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);
@@ -525,7 +524,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]