Class ParsedQuery
- java.lang.Object
-
- net.ontopia.topicmaps.query.impl.rdbms.ParsedQuery
-
- All Implemented Interfaces:
ParsedQueryIF,ParsedStatementIF
public final class ParsedQuery extends Object implements ParsedQueryIF
INTERNAL: Class used to represent parsed queries. The class wraps a query executer and a tolog query intance (as generated by the parser). The actual query execution is delegated to the query executer.
-
-
Field Summary
Fields Modifier and Type Field Description protected QueryProcessorbprocessorprotected QueryComponentIF[]componentsprotected booleanhas_bclausesprotected intqresultprotected TologQueryqueryprotected QueryProcessorrprocessorprotected SQLGeneratorIFsqlgenprotected QueryIFsqlquery
-
Constructor Summary
Constructors Constructor Description ParsedQuery(QueryProcessor rprocessor, QueryProcessor bprocessor, TologQuery query)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected net.ontopia.topicmaps.query.impl.rdbms.ParsedQuery.QueryContextcompile(QueryBuilder builder, List clauses)protected voidcompileQuery(QueryBuilder builder, TologQuery query)QueryResultIFexecute()PUBLIC: Executes the query, returning the query result.QueryResultIFexecute(Map arguments)PUBLIC: Executes the query binding the parameters in the query to the values given in the 'arguments' map, returning the query result.CollectiongetAllVariables()PUBLIC: Returns all the variables used in the query, in no particular order.ListgetClauses()CollectiongetCountedVariables()PUBLIC: Returns the variables that are counted in the select clause of the query.ListgetOrderBy()PUBLIC: Returns the variables listed in the order by clause in the order they are given there.ListgetSelectedVariables()PUBLIC: Returns the variables in the select clause of the query, in the order given there.protected ListgetVariables(Collection varnames)protected booleanisIndependent(JDOExpressionIF expr)protected booleanisOrderableTypes(TologQuery query)booleanisOrderedAscending(String name)PUBLIC: Returns true if the named variable is to be sorted in ascending order.protected booleanisSupportedArguments(QueryBuilder builder, List arguments)protected JDOQuerymakeJDOQuery(QueryBuilder builder, net.ontopia.topicmaps.query.impl.rdbms.ParsedQuery.QueryContext qcontext, boolean aggfunc, boolean orderby)protected QueryMatchesprepareQueryMatches(Map arguments)protected voidprescan(QueryBuilder builder, List clauses)StringtoString()
-
-
-
Field Detail
-
query
protected TologQuery query
-
rprocessor
protected QueryProcessor rprocessor
-
bprocessor
protected QueryProcessor bprocessor
-
components
protected QueryComponentIF[] components
-
sqlquery
protected QueryIF sqlquery
-
qresult
protected int qresult
-
has_bclauses
protected boolean has_bclauses
-
sqlgen
protected SQLGeneratorIF sqlgen
-
-
Constructor Detail
-
ParsedQuery
public ParsedQuery(QueryProcessor rprocessor, QueryProcessor bprocessor, TologQuery query) throws InvalidQueryException
- Throws:
InvalidQueryException
-
-
Method Detail
-
compileQuery
protected void compileQuery(QueryBuilder builder, TologQuery query) throws InvalidQueryException
- Throws:
InvalidQueryException
-
makeJDOQuery
protected JDOQuery makeJDOQuery(QueryBuilder builder, net.ontopia.topicmaps.query.impl.rdbms.ParsedQuery.QueryContext qcontext, boolean aggfunc, boolean orderby) throws InvalidQueryException
- Throws:
InvalidQueryException
-
getClauses
public List getClauses()
-
getSelectedVariables
public List getSelectedVariables()
Description copied from interface:ParsedQueryIFPUBLIC: Returns the variables in the select clause of the query, in the order given there. If there is no select clause all the variables used in the query are returned, in no particular order.- Specified by:
getSelectedVariablesin interfaceParsedQueryIF- Returns:
- An immutable List of String objects.
-
getAllVariables
public Collection getAllVariables()
Description copied from interface:ParsedQueryIFPUBLIC: Returns all the variables used in the query, in no particular order.- Specified by:
getAllVariablesin interfaceParsedQueryIF- Returns:
- An immutable Collection of String objects.
-
getCountedVariables
public Collection getCountedVariables()
Description copied from interface:ParsedQueryIFPUBLIC: Returns the variables that are counted in the select clause of the query. They are returned in no particular order. If there are no counted variables, or if there is no select clause an empty collection is returned.- Specified by:
getCountedVariablesin interfaceParsedQueryIF- Returns:
- An immutable Collection of String objects.
-
getOrderBy
public List getOrderBy()
Description copied from interface:ParsedQueryIFPUBLIC: Returns the variables listed in the order by clause in the order they are given there. In order to see which ones are ascending and which descending, use the isOrderedAscending method.- Specified by:
getOrderByin interfaceParsedQueryIF- Returns:
- An immutable List of String objects.
-
isOrderedAscending
public boolean isOrderedAscending(String name)
Description copied from interface:ParsedQueryIFPUBLIC: Returns true if the named variable is to be sorted in ascending order.- Specified by:
isOrderedAscendingin interfaceParsedQueryIF
-
getVariables
protected List getVariables(Collection varnames)
-
execute
public QueryResultIF execute() throws InvalidQueryException
Description copied from interface:ParsedQueryIFPUBLIC: Executes the query, returning the query result. Query results are not cached, so results are up to date.- Specified by:
executein interfaceParsedQueryIF- Throws:
InvalidQueryException
-
execute
public QueryResultIF execute(Map arguments) throws InvalidQueryException
Description copied from interface:ParsedQueryIFPUBLIC: Executes the query binding the parameters in the query to the values given in the 'arguments' map, returning the query result. Query results are not cached, so results are up to date.- Specified by:
executein interfaceParsedQueryIF- Throws:
InvalidQueryException
-
prepareQueryMatches
protected QueryMatches prepareQueryMatches(Map arguments)
-
prescan
protected void prescan(QueryBuilder builder, List clauses)
-
isSupportedArguments
protected boolean isSupportedArguments(QueryBuilder builder, List arguments)
-
compile
protected net.ontopia.topicmaps.query.impl.rdbms.ParsedQuery.QueryContext compile(QueryBuilder builder, List clauses) throws InvalidQueryException
- Throws:
InvalidQueryException
-
isIndependent
protected boolean isIndependent(JDOExpressionIF expr)
-
isOrderableTypes
protected boolean isOrderableTypes(TologQuery query)
-
-