Package org.datanucleus.store.query
Class JDOQLSingleStringParser
java.lang.Object
org.datanucleus.store.query.JDOQLSingleStringParser
Parser for handling JDOQL Single-String queries.
Takes a JDOQLQuery and the query string and parses it into its constituent parts, updating
the JDOQLQuery accordingly with the result that after calling the parse() method the JDOQLQuery
is populated.
select [unique] [{result}] [into {result-class-name}] [from {candidate-class-name} [exclude subclasses] ] [where {filter}] [variables {variables-clause} ] [parameters {parameters-clause} ] [{imports-clause}] [group by {grouping-clause} ] [order by {ordering-clause} ] [range {from-range} ,{to-range}]or
UPDATE {candidate-class-name} SET fld1 = val[, fld2 = val2] WHERE {filter}or
DELETE FROM {candidate-class-name} [exclude-subclasses] WHERE {filter}Note that {filter} can contain subqueries, hence containing keywords
SELECT c FROM Customer c WHERE timeAvailable < (SELECT avg(hours) FROM Employee e)So the "filter" for the outer query is "timeAvailable < (SELECT avg(hours) FROM Employee e)"
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate class
Compiler to process keywords contents.private static class
Tokenizer that provides access to current token. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionJDOQLSingleStringParser
(Query query, String queryString) Constructor for the Single-String parser. -
Method Summary
Modifier and TypeMethodDescriptionvoid
parse()
Method to parse the Single-String queryvoid
setAllowDelete
(boolean allow) void
setAllowUpdate
(boolean allow)
-
Field Details
-
query
The JDOQL query to populate. -
queryString
The single-string query string. -
allowDelete
boolean allowDelete -
allowUpdate
boolean allowUpdate
-
-
Constructor Details
-
JDOQLSingleStringParser
Constructor for the Single-String parser.- Parameters:
query
- The queryqueryString
- The Single-String query
-
-
Method Details
-
setAllowDelete
public void setAllowDelete(boolean allow) -
setAllowUpdate
public void setAllowUpdate(boolean allow) -
parse
public void parse()Method to parse the Single-String query
-