org.eigenbase.lurql
Class LurqlQueryProcessor.PreparedQuery

java.lang.Object
  extended by org.eigenbase.lurql.LurqlQueryProcessor.PreparedQuery
All Implemented Interfaces:
JmiPreparedQuery
Enclosing class:
LurqlQueryProcessor

private class LurqlQueryProcessor.PreparedQuery
extends Object
implements JmiPreparedQuery


Field Summary
private  LurqlPlan plan
           
 
Constructor Summary
LurqlQueryProcessor.PreparedQuery(LurqlPlan plan)
           
 
Method Summary
 Map<String,?> describeParameters()
          Gets a description of the parameters to this query.
 Collection<RefObject> execute(Connection connection, Map<String,?> args)
          Executes the prepared query.
 String explainPlan()
          Gets an explanation of the plan to be used to execute this query.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

plan

private final LurqlPlan plan
Constructor Detail

LurqlQueryProcessor.PreparedQuery

LurqlQueryProcessor.PreparedQuery(LurqlPlan plan)
Method Detail

describeParameters

public Map<String,?> describeParameters()
Description copied from interface: JmiPreparedQuery
Gets a description of the parameters to this query.

Specified by:
describeParameters in interface JmiPreparedQuery
Returns:
map from parameter name (String) to expected type (type representation is implementation-dependent)

explainPlan

public String explainPlan()
Description copied from interface: JmiPreparedQuery
Gets an explanation of the plan to be used to execute this query.

Specified by:
explainPlan in interface JmiPreparedQuery
Returns:
plan text; representation is implementation-defined, typically multi-line

execute

public Collection<RefObject> execute(Connection connection,
                                     Map<String,?> args)
                              throws JmiQueryException
Description copied from interface: JmiPreparedQuery
Executes the prepared query. Whether it is legal to simultaneously execute the same query from different threads is implementation-dependent. The query transaction scope is determined by the current thread context and JMI implementation.

Specified by:
execute in interface JmiPreparedQuery
Parameters:
connection - JDBC connection to use for processing SQL subqueries, or null if none available
args - map from parameter name (String) to argument value (allowable value type is implementation-dependent)
Returns:
collection of JMI objects (instances of RefObject) found by the query
Throws:
JmiQueryException