|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.sql.execute.GenericResultSetFactory
ResultSetFactory provides a wrapper around all of the result sets used in this execution implementation. This removes the need of generated classes to do a new and of the generator to know about all of the result sets. Both simply know about this interface to getting them.
In terms of modularizing, we can create just an interface to this class and invoke the interface. Different implementations would get the same information provided but could potentially massage/ignore it in different ways to satisfy their implementations. The practicality of this is to be seen.
The cost of this type of factory is that once you touch it, you touch *all* of the possible result sets, not just the ones you need. So the first time you touch it could be painful ... that might be a problem for execution.
Field Summary |
Fields inherited from interface org.apache.derby.iapi.sql.execute.ResultSetFactory |
MODULE |
Constructor Summary | |
GenericResultSetFactory()
|
Method Summary | |
NoPutResultSet |
getAnyResultSet(NoPutResultSet source,
Activation activation,
GeneratedMethod emptyRowFun,
int resultSetNumber,
int subqueryNumber,
int pointOfAttachment,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
An any result set iterates over its source, returning a row with all columns set to nulls if the source returns no rows. |
private static Authorizer |
getAuthorizer(Activation activation)
|
NoPutResultSet |
getBulkTableScanResultSet(long conglomId,
int scociItem,
Activation activation,
GeneratedMethod resultRowAllocator,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
int rowsPerRead,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
Table/Index scan where rows are read in bulk |
ResultSet |
getCallStatementResultSet(GeneratedMethod methodCall,
Activation activation)
A call statement result set simply reports that it completed. |
NoPutResultSet |
getCurrentOfResultSet(java.lang.String cursorName,
Activation activation,
int resultSetNumber,
java.lang.String psName)
A current of result set forms a result set on the current row of an open cursor. |
ResultSet |
getDDLResultSet(Activation activation)
Generic DDL result set creation. |
ResultSet |
getDeleteCascadeResultSet(NoPutResultSet source,
Activation activation,
int constantActionItem,
ResultSet[] dependentResultSets,
java.lang.String resultSetId)
A delete Cascade result set simply reports that it completed, and the number of rows deleted. |
ResultSet |
getDeleteCascadeUpdateResultSet(NoPutResultSet source,
GeneratedMethod checkGM,
Activation activation,
int constantActionItem,
int rsdItem)
An update result set simply reports that it completed, and the number of rows updated. |
ResultSet |
getDeleteResultSet(NoPutResultSet source,
Activation activation)
A delete result set simply reports that it completed, and the number of rows deleted. |
ResultSet |
getDeleteVTIResultSet(NoPutResultSet source,
Activation activation)
A delete VTI result set simply reports that it completed, and the number of rows deleted. |
NoPutResultSet |
getDistinctGroupedAggregateResultSet(NoPutResultSet source,
boolean isInSortedOrder,
int aggregateItem,
int orderItem,
Activation activation,
GeneratedMethod rowAllocator,
int maxRowSize,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A DistinctGroupedAggregateResultSet computes scalar aggregates when at least one of them is a distinct aggregate. |
NoPutResultSet |
getDistinctScalarAggregateResultSet(NoPutResultSet source,
boolean isInSortedOrder,
int aggregateItem,
int orderItem,
Activation activation,
GeneratedMethod rowAllocator,
int maxRowSize,
int resultSetNumber,
boolean singleInputRow,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A DistinctScalarAggregateResultSet computes scalar aggregates when at least one of them is a distinct aggregate. |
NoPutResultSet |
getDistinctScanResultSet(long conglomId,
int scociItem,
Activation activation,
GeneratedMethod resultRowAllocator,
int resultSetNumber,
int hashKeyColumn,
java.lang.String tableName,
java.lang.String indexName,
boolean isConstraint,
int colRefItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
a distinct scan generator, for ease of use at present. |
NoPutResultSet |
getGroupedAggregateResultSet(NoPutResultSet source,
boolean isInSortedOrder,
int aggregateItem,
int orderItem,
Activation activation,
GeneratedMethod rowAllocator,
int maxRowSize,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A GroupedAggregateResultSet computes non-distinct grouped aggregates. |
NoPutResultSet |
getHashJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
Activation activation,
GeneratedMethod joinClause,
int resultSetNumber,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A hash join. |
NoPutResultSet |
getHashLeftOuterJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
Activation activation,
GeneratedMethod joinClause,
int resultSetNumber,
GeneratedMethod emptyRowFun,
boolean wasRightOuterJoin,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A left outer join using a hash join. |
NoPutResultSet |
getHashScanResultSet(long conglomId,
int scociItem,
Activation activation,
GeneratedMethod resultRowAllocator,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] scanQualifiers,
Qualifier[][] nextQualifiers,
int initialCapacity,
float loadFactor,
int maxCapacity,
int hashKeyColumn,
java.lang.String tableName,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
a hash scan generator, for ease of use at present. |
NoPutResultSet |
getHashTableResultSet(NoPutResultSet source,
Activation activation,
GeneratedMethod singleTableRestriction,
Qualifier[][] equijoinQualifiers,
GeneratedMethod projection,
int resultSetNumber,
int mapRefItem,
boolean reuseResult,
int keyColItem,
boolean removeDuplicates,
long maxInMemoryRowCount,
int initialCapacity,
float loadFactor,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A hash table result set builds a hash table on its source, applying a list of predicates, if any, to the source, when building the hash table. |
NoPutResultSet |
getIndexRowToBaseRowResultSet(long conglomId,
int scociItem,
Activation a,
NoPutResultSet source,
GeneratedMethod resultRowAllocator,
int resultSetNumber,
java.lang.String indexName,
int heapColRefItem,
int indexColRefItem,
int indexColMapItem,
GeneratedMethod restriction,
boolean forUpdate,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
An index row to base row result set gets an index row from its source and uses the RowLocation in its last column to get the row from the base conglomerate. |
ResultSet |
getInsertResultSet(NoPutResultSet source,
GeneratedMethod checkGM,
Activation activation)
An insert result set simply reports that it completed, and the number of rows inserted. |
ResultSet |
getInsertVTIResultSet(NoPutResultSet source,
NoPutResultSet vtiRS,
Activation activation)
An insert VTI result set simply reports that it completed, and the number of rows inserted. |
NoPutResultSet |
getLastIndexKeyResultSet(Activation activation,
int resultSetNumber,
GeneratedMethod resultRowAllocator,
long conglomId,
java.lang.String tableName,
java.lang.String indexName,
int colRefItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A last index key sresult set returns the last row from the index in question. |
NoPutResultSet |
getMaterializedResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A ResultSet which materializes the underlying ResultSet tree into a temp table on the 1st open. |
ResultSet |
getMiscResultSet(Activation activation)
Generic Misc result set creation. |
NoPutResultSet |
getNestedLoopJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
Activation activation,
GeneratedMethod joinClause,
int resultSetNumber,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A nested loop left outer join result set forms a result set on top of 2 other result sets. |
NoPutResultSet |
getNestedLoopLeftOuterJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
Activation activation,
GeneratedMethod joinClause,
int resultSetNumber,
GeneratedMethod emptyRowFun,
boolean wasRightOuterJoin,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A nested loop join result set forms a result set on top of 2 other result sets. |
NoPutResultSet |
getNormalizeResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
int erdNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
boolean forUpdate,
GeneratedMethod closeCleanup)
REMIND: needs more description... |
NoPutResultSet |
getOnceResultSet(NoPutResultSet source,
Activation activation,
GeneratedMethod emptyRowFun,
int cardinalityCheck,
int resultSetNumber,
int subqueryNumber,
int pointOfAttachment,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A once result set iterates over its source, raising an error if the source returns > 1 row and returning a row with all columns set to nulls if the source returns no rows. |
NoPutResultSet |
getProjectRestrictResultSet(NoPutResultSet source,
Activation activation,
GeneratedMethod restriction,
GeneratedMethod projection,
int resultSetNumber,
GeneratedMethod constantRestriction,
int mapRefItem,
boolean reuseResult,
boolean doesProjection,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A project restrict result set iterates over its source, evaluating a restriction and when it is satisfied, constructing a row to return in its result set based on its projection. |
NoPutResultSet |
getRaDependentTableScanResultSet(long conglomId,
int scociItem,
Activation activation,
GeneratedMethod resultRowAllocator,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup,
java.lang.String parentResultSetId,
long fkIndexConglomId,
int fkColArrayItem,
int rltItem)
a referential action dependent table scan generator. |
NoPutResultSet |
getRowResultSet(Activation activation,
GeneratedMethod row,
boolean canCacheRow,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A row result set forms a result set on a single, known row value. |
NoPutResultSet |
getScalarAggregateResultSet(NoPutResultSet source,
boolean isInSortedOrder,
int aggregateItem,
int orderItem,
Activation activation,
GeneratedMethod rowAllocator,
int maxRowSize,
int resultSetNumber,
boolean singleInputRow,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A ScalarAggregateResultSet computes non-distinct scalar aggregates. |
NoPutResultSet |
getScrollInsensitiveResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
int sourceRowWidth,
boolean scrollable,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A ResultSet which provides the insensitive scrolling functionality for the underlying result set by materializing the underlying ResultSet tree into a hash table while scrolling forward. |
NoPutResultSet |
getSetOpResultSet(NoPutResultSet leftSource,
NoPutResultSet rightSource,
Activation activation,
int resultSetNumber,
long optimizerEstimatedRowCount,
double optimizerEstimatedCost,
int opType,
boolean all,
GeneratedMethod closeCleanup,
int intermediateOrderByColumnsSavedObject,
int intermediateOrderByDirectionSavedObject)
The SetOpResultSet is used to implement an INTERSECT or EXCEPT operation. |
ResultSet |
getSetTransactionResultSet(Activation activation)
|
NoPutResultSet |
getSortResultSet(NoPutResultSet source,
boolean distinct,
boolean isInSortedOrder,
int orderItem,
Activation activation,
GeneratedMethod rowAllocator,
int maxRowSize,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A sort result set sorts its source and if requested removes duplicates. |
NoPutResultSet |
getTableScanResultSet(long conglomId,
int scociItem,
Activation activation,
GeneratedMethod resultRowAllocator,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
a minimal table scan generator, for ease of use at present. |
NoPutResultSet |
getUnionResultSet(NoPutResultSet leftResultSet,
NoPutResultSet rightResultSet,
Activation activation,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
a minimal union scan generator, for ease of use at present. |
ResultSet |
getUpdateResultSet(NoPutResultSet source,
GeneratedMethod checkGM,
Activation activation)
An update result set simply reports that it completed, and the number of rows updated. |
ResultSet |
getUpdateVTIResultSet(NoPutResultSet source,
Activation activation)
|
NoPutResultSet |
getVTIResultSet(Activation activation,
GeneratedMethod row,
int resultSetNumber,
GeneratedMethod constructor,
java.lang.String javaClassName,
Qualifier[][] pushedQualifiers,
int erdNumber,
boolean version2,
boolean reuseablePs,
int ctcNumber,
boolean isTarget,
int scanIsolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
GeneratedMethod closeCleanup)
A VTI result set wraps a user supplied result set. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public GenericResultSetFactory()
Method Detail |
public ResultSet getInsertResultSet(NoPutResultSet source, GeneratedMethod checkGM, Activation activation) throws StandardException
ResultSetFactory
getInsertResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to
be inserted into the target table.checkGM
- The code to enforce the check constraints, if anyactivation
- the activation for this result set,
StandardException
- thrown on errorResultSetFactory.getInsertResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.services.loader.GeneratedMethod, org.apache.derby.iapi.sql.Activation)
public ResultSet getInsertVTIResultSet(NoPutResultSet source, NoPutResultSet vtiRS, Activation activation) throws StandardException
ResultSetFactory
getInsertVTIResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to
be inserted into the target table.vtiRS
- The code to instantiate the VTI, if necessaryactivation
- the activation for this result set,
StandardException
- thrown on errorResultSetFactory.getInsertVTIResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation)
public ResultSet getDeleteVTIResultSet(NoPutResultSet source, Activation activation) throws StandardException
ResultSetFactory
getDeleteVTIResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to
be inserted into the target table.activation
- the activation for this result set,
StandardException
- thrown on errorResultSetFactory.getDeleteVTIResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation)
public ResultSet getDeleteResultSet(NoPutResultSet source, Activation activation) throws StandardException
ResultSetFactory
getDeleteResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to
be deleted from the target table. This result set must
contain one column which provides RowLocations that are
valid in the target table.activation
- the activation for this result set
StandardException
- thrown on errorResultSetFactory.getDeleteResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation)
public ResultSet getDeleteCascadeResultSet(NoPutResultSet source, Activation activation, int constantActionItem, ResultSet[] dependentResultSets, java.lang.String resultSetId) throws StandardException
ResultSetFactory
getDeleteCascadeResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to
be deleted from the target table.activation
- the activation for this result setconstantActionItem
- a constant action saved object referencedependentResultSets
- an array of DeleteCascade Resultsets
for the current table referential action
dependents tables.resultSetId
- an Id which is used to store the refence
to the temporary result set created of
the materilized rows.Dependent table resultsets
uses the same id to access their parent temporary result sets.
StandardException
- thrown on errorResultSetFactory.getDeleteCascadeResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, int, org.apache.derby.iapi.sql.ResultSet[], java.lang.String)
public ResultSet getUpdateResultSet(NoPutResultSet source, GeneratedMethod checkGM, Activation activation) throws StandardException
ResultSetFactory
getUpdateResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
updated in the target table. This result set must contain
a column which provides RowLocations that are valid in the
target table, and new values to be placed in those rows.checkGM
- The code to enforce the check constraints, if anyactivation
- the activation for this result set
StandardException
- thrown on errorResultSetFactory.getUpdateResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.services.loader.GeneratedMethod, org.apache.derby.iapi.sql.Activation)
public ResultSet getUpdateVTIResultSet(NoPutResultSet source, Activation activation) throws StandardException
getUpdateVTIResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
updated in the target table.activation
- the activation for this result set
StandardException
- thrown on errorResultSetFactory.getUpdateVTIResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation)
public ResultSet getDeleteCascadeUpdateResultSet(NoPutResultSet source, GeneratedMethod checkGM, Activation activation, int constantActionItem, int rsdItem) throws StandardException
ResultSetFactory
getDeleteCascadeUpdateResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
updated in the target table. This result set must contain
a column which provides RowLocations that are valid in the
target table, and new values to be placed in those rows.checkGM
- The code to enforce the check constraints, if anyactivation
- the activation for this result setconstantActionItem
- a constant action saved object referencersdItem
- result Description, saved object id.
StandardException
- thrown on errorResultSetFactory.getDeleteCascadeUpdateResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.services.loader.GeneratedMethod, org.apache.derby.iapi.sql.Activation, int, int)
public ResultSet getCallStatementResultSet(GeneratedMethod methodCall, Activation activation) throws StandardException
ResultSetFactory
getCallStatementResultSet
in interface ResultSetFactory
methodCall
- a reference to a method in the activation
for the method callactivation
- the activation for this result set
StandardException
- thrown on errorResultSetFactory.getCallStatementResultSet(org.apache.derby.iapi.services.loader.GeneratedMethod, org.apache.derby.iapi.sql.Activation)
public NoPutResultSet getProjectRestrictResultSet(NoPutResultSet source, Activation activation, GeneratedMethod restriction, GeneratedMethod projection, int resultSetNumber, GeneratedMethod constantRestriction, int mapRefItem, boolean reuseResult, boolean doesProjection, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getProjectRestrictResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.activation
- the activation for this result set,
against whcih the restriction and projection are performed
and to which current rows must be assigned for the
projection and restriction to be performed.restriction
- a reference to a method in the activation
that is applied to the activation's "current row" field
to determine whether the restriction is satisfied or not.
The signature of this method is
projection
- a reference to a method in the activation
that is applied to the activation's "current row" field
to project out the expected result row.
The signature of this method is
resultSetNumber
- The resultSetNumber for the ResultSetconstantRestriction
- a reference to a method in the activation
that represents a constant expression (eg where 1 = 2).
The signature of this method is
mapRefItem
- Item # for mapping of source to target columnsdoesProjection
- Whether or not this PRN does a projectionoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getProjectRestrictResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getHashTableResultSet(NoPutResultSet source, Activation activation, GeneratedMethod singleTableRestriction, Qualifier[][] equijoinQualifiers, GeneratedMethod projection, int resultSetNumber, int mapRefItem, boolean reuseResult, int keyColItem, boolean removeDuplicates, long maxInMemoryRowCount, int initialCapacity, float loadFactor, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getHashTableResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.activation
- the activation for this result set,
against whcih the restriction and projection are performed
and to which current rows must be assigned for the
projection and restriction to be performed.singleTableRestriction
- restriction, if any, applied to
input of hash table.equijoinQualifiers
- Qualifier[] for look up into hash tableprojection
- a reference to a method in the activation
that is applied to the activation's "current row" field
to project out the expected result row.
The signature of this method is
resultSetNumber
- The resultSetNumber for the ResultSetreuseResult
- Whether or not to reuse the result row.keyColItem
- Item for hash key column arrayremoveDuplicates
- Whether or not to remove duplicates when building the hash tablemaxInMemoryRowCount
- Max size of in-memory hash tableinitialCapacity
- initialCapacity for java.util.HashTableloadFactor
- loadFactor for java.util.HashTableoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getHashTableResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, org.apache.derby.iapi.store.access.Qualifier[][], org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, boolean, int, boolean, long, int, float, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getSortResultSet(NoPutResultSet source, boolean distinct, boolean isInSortedOrder, int orderItem, Activation activation, GeneratedMethod rowAllocator, int maxRowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
If passed aggregates it will do scalar or vector aggregate processing. A list of aggregator information is passed off of the PreparedStatement's savedObjects. Aggregation and SELECT DISTINCT cannot be processed in the same sort.
getSortResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.distinct
- true if distinct SELECT listisInSortedOrder
- true if the source result set is in sorted orderorderItem
- entry in preparedStatement's savedObjects for orderactivation
- the activation for this result set,
against which the sort-unique is performed.rowAllocator
- a reference to a method in the activation
that generates rows of the right size and shape for the sourcemaxRowSize
- the size of the row that is allocated by rowAllocator.
size should be the maximum size of the sum of all the datatypes.
user type are necessarily approximatedresultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getSortResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, boolean, boolean, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getScalarAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderItem, Activation activation, GeneratedMethod rowAllocator, int maxRowSize, int resultSetNumber, boolean singleInputRow, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getScalarAggregateResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.isInSortedOrder
- true if the source result set is in sorted orderaggregateItem
- entry in preparedStatement's savedObjects for aggregatesorderItem
- Ignored to allow same signature as getDistinctScalarAggregateResultSetactivation
- the activation for this result set,
against which the sort-unique is performed.rowAllocator
- a reference to a method in the activation
that generates rows of the right size and shape for the sourcemaxRowSize
- Ignored to allow same signature as getDistinctScalarAggregateResultSetresultSetNumber
- The resultSetNumber for the ResultSetsingleInputRow
- Whether we know we have a single input row or notoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getScalarAggregateResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, boolean, int, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getDistinctScalarAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderItem, Activation activation, GeneratedMethod rowAllocator, int maxRowSize, int resultSetNumber, boolean singleInputRow, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getDistinctScalarAggregateResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.isInSortedOrder
- true if the source result set is in sorted orderaggregateItem
- entry in preparedStatement's savedObjects for aggregatesactivation
- the activation for this result set,
against which the sort-unique is performed.rowAllocator
- a reference to a method in the activation
that generates rows of the right size and shape for the sourcemaxRowSize
- the size of the row that is allocated by rowAllocator.
size should be the maximum size of the sum of all the datatypes.
user type are necessarily approximatedresultSetNumber
- The resultSetNumber for the ResultSetsingleInputRow
- Whether we know we have a single input row or notoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getDistinctScalarAggregateResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, boolean, int, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getGroupedAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderItem, Activation activation, GeneratedMethod rowAllocator, int maxRowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getGroupedAggregateResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.isInSortedOrder
- true if the source result set is in sorted orderaggregateItem
- entry in preparedStatement's savedObjects for aggregatesorderItem
- Ignored to allow same signature as getDistinctScalarAggregateResultSetactivation
- the activation for this result set,
against which the sort-unique is performed.rowAllocator
- a reference to a method in the activation
that generates rows of the right size and shape for the sourcemaxRowSize
- Ignored to allow same signature as getDistinctScalarAggregateResultSetresultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getGroupedAggregateResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, boolean, int, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getDistinctGroupedAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderItem, Activation activation, GeneratedMethod rowAllocator, int maxRowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getDistinctGroupedAggregateResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.isInSortedOrder
- true if the source result set is in sorted orderaggregateItem
- entry in preparedStatement's savedObjects for aggregatesactivation
- the activation for this result set,
against which the sort-unique is performed.rowAllocator
- a reference to a method in the activation
that generates rows of the right size and shape for the sourcemaxRowSize
- the size of the row that is allocated by rowAllocator.
size should be the maximum size of the sum of all the datatypes.
user type are necessarily approximatedresultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getDistinctGroupedAggregateResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, boolean, int, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getAnyResultSet(NoPutResultSet source, Activation activation, GeneratedMethod emptyRowFun, int resultSetNumber, int subqueryNumber, int pointOfAttachment, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
ResultSetFactory
getAnyResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.activation
- the activation for this result set,
against whcih the restriction and projection are performed
and to which current rows must be assigned for the
projection and restriction to be performed.emptyRowFun
- a reference to a method in the activation
that is called if the source returns no rowsresultSetNumber
- The resultSetNumber for the ResultSetsubqueryNumber
- The subquery number for this subquery.pointOfAttachment
- The point of attachment for this subquery.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizer
StandardException
- thrown on errorResultSetFactory.getAnyResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, int, double, double)
public NoPutResultSet getOnceResultSet(NoPutResultSet source, Activation activation, GeneratedMethod emptyRowFun, int cardinalityCheck, int resultSetNumber, int subqueryNumber, int pointOfAttachment, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
ResultSetFactory
getOnceResultSet
in interface ResultSetFactory
source
- the result set from which to take rows to be
filtered by this operation.activation
- the activation for this result set,
against whcih the restriction and projection are performed
and to which current rows must be assigned for the
projection and restriction to be performed.emptyRowFun
- a reference to a method in the activation
that is called if the source returns no rowscardinalityCheck
- The type of cardinality check, if any that
is requiredresultSetNumber
- The resultSetNumber for the ResultSetsubqueryNumber
- The subquery number for this subquery.pointOfAttachment
- The point of attachment for this subquery.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizer
StandardException
- thrown on errorResultSetFactory.getOnceResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, int, int, int, double, double)
public NoPutResultSet getRowResultSet(Activation activation, GeneratedMethod row, boolean canCacheRow, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup)
ResultSetFactory
getRowResultSet
in interface ResultSetFactory
activation
- the activation for this result set,
against which the row operation is performed to
create the result set.row
- a reference to a method in the activation
that creates the expected row.
canCacheRow
- True if execution can cache the input row
after it has gotten it. If the input row is constructed soley
of constants or parameters, it is ok to cache this row rather
than recreating it each time it is requested.resultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
ResultSetFactory.getRowResultSet(org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, boolean, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getVTIResultSet(Activation activation, GeneratedMethod row, int resultSetNumber, GeneratedMethod constructor, java.lang.String javaClassName, Qualifier[][] pushedQualifiers, int erdNumber, boolean version2, boolean reuseablePs, int ctcNumber, boolean isTarget, int scanIsolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getVTIResultSet
in interface ResultSetFactory
activation
- the activation for this result set,
against which the row operation is performed to
create the result set.row
- a reference to a method in the activation
that creates the expected row.
resultSetNumber
- The resultSetNumber for the ResultSetconstructor
- The GeneratedMethod for the user's constructorjavaClassName
- The java class name for the VTIerdNumber
- int for referenced column BitSet
(so it can be turned back into an object)version2
- Whether or not VTI is a version 2 VTI.isTarget
- Whether or not VTI is a target VTI.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getVTIResultSet(org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, java.lang.String, org.apache.derby.iapi.store.access.Qualifier[][], int, boolean, boolean, int, boolean, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getHashScanResultSet(long conglomId, int scociItem, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] scanQualifiers, Qualifier[][] nextQualifiers, int initialCapacity, float loadFactor, int maxCapacity, int hashKeyColumn, java.lang.String tableName, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
getHashScanResultSet
in interface ResultSetFactory
conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.activation
- the activation for this result set,
which provides the context for the row allocation operation.resultRowAllocator
- a reference to a method in the activation
that creates a holder for the rows from the scan.
resultSetNumber
- The resultSetNumber for the ResultSetstartKeyGetter
- a reference to a method in the activation
that gets the start key indexable row for the scan. Null
means there is no start key.
startSearchOperator
- The start search operator for opening
the scanstopKeyGetter
- a reference to a method in the activation
that gets the stop key indexable row for the scan. Null means
there is no stop key.
stopSearchOperator
- The stop search operator for opening
the scansameStartStopPosition
- Re-use the startKeyGetter for the stopKeyGetter
(Exact match search.)scanQualifiers
- the array of Qualifiers for the scan.
Null or an array length of zero means there are no qualifiers.nextQualifiers
- the array of Qualifiers for the look up into the hash table.initialCapacity
- The initialCapacity for the HashTable.loadFactor
- The loadFactor for the HashTable.maxCapacity
- The maximum size for the HashTable.hashKeyColumn
- The 0-based column # for the hash key.tableName
- The full name of the tableindexName
- The name of the index, if one used to access table.isConstraint
- If index, if used, is a backing index for a constraint.forUpdate
- True means open for updatecolRefItem
- An saved item for a bitSet of columns that
are referenced in the underlying table. -1 if
no item.lockMode
- The lock granularity to use (see
TransactionController in access)tableLocked
- Whether or not the table is marked as using table locking
(in sys.systables)isolationLevel
- Isolation level (specified or not) to use on scansoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getHashScanResultSet(long, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, org.apache.derby.iapi.store.access.Qualifier[][], org.apache.derby.iapi.store.access.Qualifier[][], int, float, int, int, java.lang.String, java.lang.String, boolean, boolean, int, int, int, boolean, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getDistinctScanResultSet(long conglomId, int scociItem, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, int hashKeyColumn, java.lang.String tableName, java.lang.String indexName, boolean isConstraint, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
getDistinctScanResultSet
in interface ResultSetFactory
conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.activation
- the activation for this result set,
which provides the context for the row allocation operation.resultRowAllocator
- a reference to a method in the activation
that creates a holder for the rows from the scan.
resultSetNumber
- The resultSetNumber for the ResultSethashKeyColumn
- The 0-based column # for the hash key.tableName
- The full name of the tableindexName
- The name of the index, if one used to access table.isConstraint
- If index, if used, is a backing index for a constraint.colRefItem
- An saved item for a bitSet of columns that
are referenced in the underlying table. -1 if
no item.lockMode
- The lock granularity to use (see
TransactionController in access)tableLocked
- Whether or not the table is marked as using table locking
(in sys.systables)isolationLevel
- Isolation level (specified or not) to use on scansoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getHashScanResultSet(long, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, org.apache.derby.iapi.store.access.Qualifier[][], org.apache.derby.iapi.store.access.Qualifier[][], int, float, int, int, java.lang.String, java.lang.String, boolean, boolean, int, int, int, boolean, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getTableScanResultSet(long conglomId, int scociItem, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
getTableScanResultSet
in interface ResultSetFactory
conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.activation
- the activation for this result set,
which provides the context for the row allocation operation.resultRowAllocator
- a reference to a method in the activation
that creates a holder for the result row of the scan. May
be a partial row.
resultSetNumber
- The resultSetNumber for the ResultSetstartKeyGetter
- a reference to a method in the activation
that gets the start key indexable row for the scan. Null
means there is no start key.
startSearchOperator
- The start search operator for opening
the scanstopKeyGetter
- a reference to a method in the activation
that gets the stop key indexable row for the scan. Null means
there is no stop key.
stopSearchOperator
- The stop search operator for opening
the scansameStartStopPosition
- Re-use the startKeyGetter for the stopKeyGetter
(Exact match search.)qualifiers
- the array of Qualifiers for the scan.
Null or an array length of zero means there are no qualifiers.tableName
- The full name of the tableindexName
- The name of the index, if one used to access table.isConstraint
- If index, if used, is a backing index for a constraint.forUpdate
- True means open for updatecolRefItem
- An saved item for a bitSet of columns that
are referenced in the underlying table. -1 if
no item.lockMode
- The lock granularity to use (see
TransactionController in access)tableLocked
- Whether or not the table is marked as using table locking
(in sys.systables)isolationLevel
- Isolation level (specified or not) to use on scansoneRowScan
- Whether or not this is a 1 row scan.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getTableScanResultSet(long, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, org.apache.derby.iapi.store.access.Qualifier[][], java.lang.String, java.lang.String, boolean, boolean, int, int, int, boolean, int, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getBulkTableScanResultSet(long conglomId, int scociItem, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
getBulkTableScanResultSet
in interface ResultSetFactory
conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.activation
- the activation for this result set,
which provides the context for the row allocation operation.resultRowAllocator
- a reference to a method in the activation
that creates a holder for the result row of the scan. May
be a partial row.
resultSetNumber
- The resultSetNumber for the ResultSetstartKeyGetter
- a reference to a method in the activation
that gets the start key indexable row for the scan. Null
means there is no start key.
startSearchOperator
- The start search operator for opening
the scanstopKeyGetter
- a reference to a method in the activation
that gets the stop key indexable row for the scan. Null means
there is no stop key.
stopSearchOperator
- The stop search operator for opening
the scansameStartStopPosition
- Re-use the startKeyGetter for the stopKeyGetter
(Exact match search.)qualifiers
- the array of Qualifiers for the scan.
Null or an array length of zero means there are no qualifiers.tableName
- The full name of the tableindexName
- The name of the index, if one used to access table.isConstraint
- If index, if used, is a backing index for a constraint.forUpdate
- True means open for updatecolRefItem
- An saved item for a bitSet of columns that
are referenced in the underlying table. -1 if
no item.lockMode
- The lock granularity to use (see
TransactionController in access)tableLocked
- Whether or not the table is marked as using table locking
(in sys.systables)isolationLevel
- Isolation level (specified or not) to use on scansrowsPerRead
- The number of rows to read per fetch.oneRowScan
- Whether or not this is a 1 row scan.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getBulkTableScanResultSet(long, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, org.apache.derby.iapi.store.access.Qualifier[][], java.lang.String, java.lang.String, boolean, boolean, int, int, int, boolean, int, int, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getIndexRowToBaseRowResultSet(long conglomId, int scociItem, Activation a, NoPutResultSet source, GeneratedMethod resultRowAllocator, int resultSetNumber, java.lang.String indexName, int heapColRefItem, int indexColRefItem, int indexColMapItem, GeneratedMethod restriction, boolean forUpdate, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getIndexRowToBaseRowResultSet
in interface ResultSetFactory
conglomId
- Conglomerate # for the heap.source
- the source result set, which is expected to provide
rows from an index conglomerateresultRowAllocator
- a reference to a method in the activation
that creates a holder for the rows from the scan.
resultSetNumber
- The resultSetNumber for the ResultSetindexName
- The name of the index.heapColRefItem
- A saved item for a bitImpl of columns that
are referenced in the underlying heap. -1 if
no item.indexColRefItem
- A saved item for a bitImpl of columns that
are referenced in the underlying index. -1 if
no item.indexColMapItem
- A saved item for a ReferencedColumnsDescriptorImpl
which tell which columms are coming from the index.restriction
- The restriction, if any, to be applied to the base rowforUpdate
- True means to open for updateoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- Thrown on errorResultSetFactory.getIndexRowToBaseRowResultSet(long, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.services.loader.GeneratedMethod, int, java.lang.String, int, int, int, org.apache.derby.iapi.services.loader.GeneratedMethod, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getNestedLoopJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
This form of the nested loop join operation is simple, and is to be used when there are no join predicates to be passed down to the join to limit its scope on the right ResultSet.
getNestedLoopJoinResultSet
in interface ResultSetFactory
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetactivation
- the activation for this result set,
which provides the context for the row allocation operation.joinClause
- a reference to a method in the activation
that is applied to the activation's "current row" field
to determine whether the joinClause is satisfied or not.
The signature of this method is
resultSetNumber
- The resultSetNumber for the ResultSetoneRowRightSide
- boolean, whether or not the right side returns
a single row. (No need to do 2nd next() if it does.)notExistsRightSide
- boolean, whether or not the right side resides a
NOT EXISTS base tableoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getNestedLoopJoinResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getHashJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getHashJoinResultSet
in interface ResultSetFactory
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetactivation
- the activation for this result set,
which provides the context for the row allocation operation.joinClause
- a reference to a method in the activation
that is applied to the activation's "current row" field
to determine whether the joinClause is satisfied or not.
The signature of this method is
resultSetNumber
- The resultSetNumber for the ResultSetoneRowRightSide
- boolean, whether or not the right side returns
a single row. (No need to do 2nd next() if it does.)notExistsRightSide
- boolean, whether or not the right side resides a
NOT EXISTS base tableoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getHashJoinResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getNestedLoopLeftOuterJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, GeneratedMethod emptyRowFun, boolean wasRightOuterJoin, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
This form of the nested loop join operation is simple, and is to be used when there are no join predicates to be passed down to the join to limit its scope on the right ResultSet.
getNestedLoopLeftOuterJoinResultSet
in interface ResultSetFactory
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetactivation
- the activation for this result set,
which provides the context for the row allocation operation.joinClause
- a reference to a method in the activation
that is applied to the activation's "current row" field
to determine whether the joinClause is satisfied or not.
The signature of this method is
resultSetNumber
- The resultSetNumber for the ResultSetemptyRowFun
- a reference to a method in the activation
that is called if the right child returns no rowswasRightOuterJoin
- Whether or not this was originally a right outer joinoneRowRightSide
- boolean, whether or not the right side returns
a single row. (No need to do 2nd next() if it does.)notExistsRightSide
- boolean, whether or not the right side resides a
NOT EXISTS base tableoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getNestedLoopLeftOuterJoinResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, boolean, boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getHashLeftOuterJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, GeneratedMethod emptyRowFun, boolean wasRightOuterJoin, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getHashLeftOuterJoinResultSet
in interface ResultSetFactory
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetactivation
- the activation for this result set,
which provides the context for the row allocation operation.joinClause
- a reference to a method in the activation
that is applied to the activation's "current row" field
to determine whether the joinClause is satisfied or not.
The signature of this method is
resultSetNumber
- The resultSetNumber for the ResultSetemptyRowFun
- a reference to a method in the activation
that is called if the right child returns no rowswasRightOuterJoin
- Whether or not this was originally a right outer joinoneRowRightSide
- boolean, whether or not the right side returns
a single row. (No need to do 2nd next() if it does.)notExistsRightSide
- boolean, whether or not the right side resides a
NOT EXISTS base tableoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getHashLeftOuterJoinResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, boolean, boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public ResultSet getSetTransactionResultSet(Activation activation) throws StandardException
getSetTransactionResultSet
in interface ResultSetFactory
activation
- the activation for this result set
StandardException
- thrown when unable to create the
result setResultSetFactory.getSetTransactionResultSet(org.apache.derby.iapi.sql.Activation)
public NoPutResultSet getMaterializedResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getMaterializedResultSet
in interface ResultSetFactory
source
- the result set input to this result set.activation
- the activation for this result set,
which provides the context for normalization.resultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getMaterializedResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getScrollInsensitiveResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int sourceRowWidth, boolean scrollable, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getScrollInsensitiveResultSet
in interface ResultSetFactory
source
- the result set input to this result set.activation
- the activation for this result set,
which provides the context for normalization.resultSetNumber
- The resultSetNumber for the ResultSetsourceRowWidth
- The # of columns in the source row.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getScrollInsensitiveResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, int, int, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getNormalizeResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int erdNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean forUpdate, GeneratedMethod closeCleanup) throws StandardException
ResultSetFactory
getNormalizeResultSet
in interface ResultSetFactory
source
- the result set input to this result set.activation
- the activation for this result set,
which provides the context for normalization.resultSetNumber
- The resultSetNumber for the ResultSeterdNumber
- int for ResultDescription
(so it can be turned back into an object)optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown on errorResultSetFactory.getNormalizeResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, int, int, double, double, boolean, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getCurrentOfResultSet(java.lang.String cursorName, Activation activation, int resultSetNumber, java.lang.String psName)
ResultSetFactory
getCurrentOfResultSet
in interface ResultSetFactory
cursorName
- the name of the cursor providing the row.activation
- the activation for this result set,
used to provide information about the result set.resultSetNumber
- The resultSetNumber for the ResultSetResultSetFactory.getCurrentOfResultSet(java.lang.String, org.apache.derby.iapi.sql.Activation, int, java.lang.String)
public ResultSet getDDLResultSet(Activation activation) throws StandardException
ResultSetFactory
getDDLResultSet
in interface ResultSetFactory
activation
- the activation for this result set
StandardException
- thrown on errorResultSetFactory.getDDLResultSet(org.apache.derby.iapi.sql.Activation)
public ResultSet getMiscResultSet(Activation activation) throws StandardException
ResultSetFactory
getMiscResultSet
in interface ResultSetFactory
activation
- the activation for this result set
StandardException
- thrown on errorResultSetFactory.getMiscResultSet(org.apache.derby.iapi.sql.Activation)
public NoPutResultSet getUnionResultSet(NoPutResultSet leftResultSet, NoPutResultSet rightResultSet, Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
getUnionResultSet
in interface ResultSetFactory
leftResultSet
- The first ResultSet whose rows go into the unionrightResultSet
- The second ResultSet whose rows go into the
unionactivation
- the activation for this result set,
which provides the context for normalization.resultSetNumber
- The resultSetNumber for the ResultSetcloseCleanup
- any cleanup the activation needs to do on close.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizer
StandardException
- thrown on errorResultSetFactory.getUnionResultSet(org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.execute.NoPutResultSet, org.apache.derby.iapi.sql.Activation, int, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
public NoPutResultSet getSetOpResultSet(NoPutResultSet leftSource, NoPutResultSet rightSource, Activation activation, int resultSetNumber, long optimizerEstimatedRowCount, double optimizerEstimatedCost, int opType, boolean all, GeneratedMethod closeCleanup, int intermediateOrderByColumnsSavedObject, int intermediateOrderByDirectionSavedObject) throws StandardException
ResultSetFactory
getSetOpResultSet
in interface ResultSetFactory
leftSource
- The result set that implements the left inputrightSource
- The result set that implements the right inputactivation
- the activation for this result setresultSetNumber
- optimizerEstimatedRowCount
- optimizerEstimatedCost
- opType
- IntersectOrExceptNode.INTERSECT_OP or EXCEPT_OPall
- true if the operation is an INTERSECT ALL or an EXCEPT ALL,
false if the operation is an INTERSECT DISCTINCT or an EXCEPT DISCTINCTcloseCleanup
- a method to be called by closeintermediateOrderByColumnsSavedObject
- The saved object index for the array of order by columns for the
ordering of the left and right sources. That is, both the left and right sources have an order by
clause of the form ORDER BY intermediateOrderByColumns[0],intermediateOrderByColumns[1],...intermediateOrderByDirectionSavedObject
- The saved object index for the array of source
order by directions. That is, the ordering of the i'th order by column in the input is ascending
if intermediateOrderByDirection[i] is 1, descending if intermediateOrderByDirection[i] is -1.
StandardException
- Thrown on failurepublic NoPutResultSet getLastIndexKeyResultSet(Activation activation, int resultSetNumber, GeneratedMethod resultRowAllocator, long conglomId, java.lang.String tableName, java.lang.String indexName, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException
getLastIndexKeyResultSet
in interface ResultSetFactory
activation
- the activation for this result set,
which provides the context for the row allocation operation.resultSetNumber
- The resultSetNumber for the ResultSetresultRowAllocator
- a reference to a method in the activation
that creates a holder for the result row of the scan. May
be a partial row. conglomId
- the conglomerate of the table to be scanned.tableName
- The full name of the tableindexName
- The name of the index, if one used to access table.colRefItem
- An saved item for a bitSet of columns that
are referenced in the underlying table. -1 if
no item.lockMode
- The lock granularity to use (see
TransactionController in access)tableLocked
- Whether or not the table is marked as using table locking
(in sys.systables)isolationLevel
- Isolation level (specified or not) to use on scansoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.
StandardException
- thrown when unable to create the
result setpublic NoPutResultSet getRaDependentTableScanResultSet(long conglomId, int scociItem, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup, java.lang.String parentResultSetId, long fkIndexConglomId, int fkColArrayItem, int rltItem) throws StandardException
getRaDependentTableScanResultSet
in interface ResultSetFactory
conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.activation
- the activation for this result set,
which provides the context for the row allocation operation.resultRowAllocator
- a reference to a method in the activation
that creates a holder for the result row of the scan. May
be a partial row.
resultSetNumber
- The resultSetNumber for the ResultSetstartKeyGetter
- a reference to a method in the activation
that gets the start key indexable row for the scan. Null
means there is no start key.
startSearchOperator
- The start search operator for opening
the scanstopKeyGetter
- a reference to a method in the activation
that gets the stop key indexable row for the scan. Null means
there is no stop key.
stopSearchOperator
- The stop search operator for opening
the scansameStartStopPosition
- Re-use the startKeyGetter for the stopKeyGetter
(Exact match search.)qualifiers
- the array of Qualifiers for the scan.
Null or an array length of zero means there are no qualifiers.tableName
- The full name of the tableindexName
- The name of the index, if one used to access table.isConstraint
- If index, if used, is a backing index for a constraint.forUpdate
- True means open for updatecolRefItem
- An saved item for a bitSet of columns that
are referenced in the underlying table. -1 if
no item.lockMode
- The lock granularity to use (see
TransactionController in access)tableLocked
- Whether or not the table is marked as using table locking
(in sys.systables)isolationLevel
- Isolation level (specified or not) to use on scansoneRowScan
- Whether or not this is a 1 row scan.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizercloseCleanup
- any cleanup the activation needs to do on close.parentResultSetId
- Id to access the materlized temporary result
set from the refence stored in the activation.fkIndexConglomId
- foreign key index conglomerate id.fkColArrayItem
- saved column array object that matches the foreign key index
columns and the resultset from the parent table.rltItem
- row location template
StandardException
- thrown on errorResultSetFactory.getTableScanResultSet(long, int, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, org.apache.derby.iapi.store.access.Qualifier[][], java.lang.String, java.lang.String, boolean, boolean, int, int, int, boolean, int, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
private static Authorizer getAuthorizer(Activation activation)
|
Built on Mon 2007-06-04 09:58:47+0400, from revision ??? | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |