public interface ResultSetFactory
For the activations to avoid searching for this module in their execute methods, the base activation supertype should implement a method that does the lookup and salts away this factory for the activation to use as it needs it.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MODULE
Module name for the monitor's module locating system.
|
Modifier and Type | Method and Description |
---|---|
NoPutResultSet |
getAnyResultSet(NoPutResultSet source,
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.
|
NoPutResultSet |
getBulkTableScanResultSet(Activation activation,
long conglomId,
int scociItem,
int resultRowTemplate,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
int rowsPerRead,
boolean disableForHoldable,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A table scan result set forms a result set on a scan
of a table.
|
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)
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,
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 generationClauses,
GeneratedMethod checkGM,
int constantActionItem,
int rsdItem)
An update result set simply reports that it completed, and
the number of rows updated.
|
ResultSet |
getDeleteResultSet(NoPutResultSet source)
A delete result set simply reports that it completed, and
the number of rows deleted.
|
ResultSet |
getDeleteVTIResultSet(NoPutResultSet source)
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 orderingItem,
int rowAllocator,
int rowSize,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
boolean isRollup)
A DistinctGroupedAggregateResultSet computes scalar aggregates when
at least one of them is a distinct aggregate.
|
NoPutResultSet |
getDistinctScalarAggregateResultSet(NoPutResultSet source,
boolean isInSortedOrder,
int aggregateItem,
int orderingItem,
int rowAllocator,
int rowSize,
int resultSetNumber,
boolean singleInputRow,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A DistinctScalarAggregateResultSet computes scalar aggregates when
at least one of them is a distinct aggregate.
|
NoPutResultSet |
getDistinctScanResultSet(Activation activation,
long conglomId,
int scociItem,
int resultRowTemplate,
int resultSetNumber,
int hashKeyColumn,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
int colRefItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A distinct scan result set pushes duplicate elimination into
the scan.
|
NoPutResultSet |
getGroupedAggregateResultSet(NoPutResultSet source,
boolean isInSortedOrder,
int aggregateItem,
int orderingItem,
int rowAllocator,
int rowSize,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
boolean isRollup)
A GroupedAggregateResultSet computes non-distinct grouped aggregates.
|
NoPutResultSet |
getHashJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
GeneratedMethod joinClause,
int resultSetNumber,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
java.lang.String userSuppliedOptimizerOverrides)
A hash join.
|
NoPutResultSet |
getHashLeftOuterJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
GeneratedMethod joinClause,
int resultSetNumber,
GeneratedMethod emptyRowFun,
boolean wasRightOuterJoin,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
java.lang.String userSuppliedOptimizerOverrides)
A left outer join using a hash join.
|
NoPutResultSet |
getHashScanResultSet(Activation activation,
long conglomId,
int scociItem,
int resultRowTemplate,
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 userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A hash result set forms a result set on a hash table built on a scan
of a table.
|
NoPutResultSet |
getHashTableResultSet(NoPutResultSet source,
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)
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 scoci,
NoPutResultSet source,
int resultRowAllocator,
int resultSetNumber,
java.lang.String indexName,
int heapColRefItem,
int allColRefItem,
int heapOnlyColRefItem,
int indexColMapItem,
GeneratedMethod restriction,
boolean forUpdate,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
int baseColumnCount)
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 generationClauses,
GeneratedMethod checkGM,
int fullTemplate,
java.lang.String schemaNameName,
java.lang.String tableName)
An insert result set simply reports that it completed, and
the number of rows inserted.
|
ResultSet |
getInsertVTIResultSet(NoPutResultSet source,
NoPutResultSet vtiRS)
An insert VTI result set simply reports that it completed, and
the number of rows inserted.
|
NoPutResultSet |
getLastIndexKeyResultSet(Activation activation,
int resultSetNumber,
int resultRowTemplate,
long conglomId,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
int colRefItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A last index key result set returns the last row from
the index in question.
|
NoPutResultSet |
getMaterializedResultSet(NoPutResultSet source,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A ResultSet which materializes the underlying ResultSet tree into a
temp table on the 1st open.
|
ResultSet |
getMergeResultSet(NoPutResultSet drivingLeftJoin)
A MERGE result set simply reports that it completed, and
the number of rows that it INSERTed/UPDATEd/DELETEdd.
|
ResultSet |
getMiscResultSet(Activation activation)
Generic Misc result set creation.
|
NoPutResultSet |
getMultiProbeTableScanResultSet(Activation activation,
long conglomId,
int scociItem,
int resultRowTemplate,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
DataValueDescriptor[] probeVals,
int sortRequired,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A multi-probe result set, used for probing an index with one or more
target values (probeValues) and returning the matching rows.
|
NoPutResultSet |
getNestedLoopJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
GeneratedMethod joinClause,
int resultSetNumber,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
java.lang.String userSuppliedOptimizerOverrides)
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,
GeneratedMethod joinClause,
int resultSetNumber,
GeneratedMethod emptyRowFun,
boolean wasRightOuterJoin,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
java.lang.String userSuppliedOptimizerOverrides)
A nested loop join result set forms a result set on top of
2 other result sets.
|
NoPutResultSet |
getNormalizeResultSet(NoPutResultSet source,
int resultSetNumber,
int erdNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
boolean forUpdate)
REMIND: needs more description...
|
NoPutResultSet |
getOnceResultSet(NoPutResultSet source,
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,
GeneratedMethod restriction,
GeneratedMethod projection,
int resultSetNumber,
GeneratedMethod constantRestriction,
int mapArrayItem,
int cloneMapItem,
boolean reuseResult,
boolean doesProjection,
boolean validatingCheckConstraint,
java.lang.String validatingBaseTableUUIDString,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
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(Activation activation,
long conglomId,
int scociItem,
int resultRowTemplate,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
java.lang.String parentResultSetId,
long fkIndexConglomId,
int fkColArrayItem,
int rltItem)
A Dependent table scan result set forms a result set on a scan
of a dependent table for the rows that got materialized
on the scan of its parent table and if the row being deleted
on parent table has a reference in the dependent table.
|
NoPutResultSet |
getRowCountResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
GeneratedMethod offsetMethod,
GeneratedMethod fetchFirstMethod,
boolean hasJDBClimitClause,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
This result sets implements the filtering needed by
|
NoPutResultSet |
getRowResultSet(Activation activation,
GeneratedMethod row,
boolean canCacheRow,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A row result set forms a result set on a single, known row value.
|
NoPutResultSet |
getScalarAggregateResultSet(NoPutResultSet source,
boolean isInSortedOrder,
int aggregateItem,
int orderingItem,
int rowAllocator,
int rowSize,
int resultSetNumber,
boolean singleInputRow,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A ScalarAggregateResultSet computes non-distinct scalar aggregates.
|
NoPutResultSet |
getScrollInsensitiveResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
int sourceRowWidth,
boolean scrollable,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
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,
int intermediateOrderByColumnsSavedObject,
int intermediateOrderByDirectionSavedObject,
int intermediateOrderByNullsLowSavedObject)
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,
int rowAllocator,
int rowSize,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A sort result set sorts its source and if requested removes
duplicates.
|
NoPutResultSet |
getTableScanResultSet(Activation activation,
long conglomId,
int scociItem,
int resultRowTemplate,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost) |
NoPutResultSet |
getUnionResultSet(NoPutResultSet source1,
NoPutResultSet source2,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
The Union interface is used to evaluate the union (all) of two ResultSets.
|
ResultSet |
getUpdateResultSet(NoPutResultSet source,
GeneratedMethod generationClauses,
GeneratedMethod checkGM)
An update result set simply reports that it completed, and
the number of rows updated.
|
ResultSet |
getUpdateVTIResultSet(NoPutResultSet source) |
NoPutResultSet |
getValidateCheckConstraintResultSet(Activation activation,
long conglomId,
int scociItem,
int resultRowTemplate,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A table scan result set forms a result set on a scan
of a table.
|
NoPutResultSet |
getVTIResultSet(Activation activation,
int 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,
boolean isDerbyStyleTableFunction,
int returnTypeNumber,
int vtiProjectionNumber,
int vtiRestrictionNumber,
java.lang.String vtiSchema,
java.lang.String vtiName)
A VTI result set wraps a user supplied result set.
|
NoPutResultSet |
getWindowResultSet(Activation activation,
NoPutResultSet source,
int rowAllocator,
int resultSetNumber,
int erdNumber,
GeneratedMethod restriction,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
A OLAP window on top of a regular result set.
|
static final java.lang.String MODULE
ResultSet getDDLResultSet(Activation activation) throws StandardException
activation
- the activation for this result setStandardException
- thrown when unable to create the
result setResultSet getMiscResultSet(Activation activation) throws StandardException
activation
- the activation for this result setStandardException
- thrown when unable to create the
result setResultSet getSetTransactionResultSet(Activation activation) throws StandardException
activation
- the activation for this result setStandardException
- thrown when unable to create the
result setResultSet getInsertResultSet(NoPutResultSet source, GeneratedMethod generationClauses, GeneratedMethod checkGM, int fullTemplate, java.lang.String schemaNameName, java.lang.String tableName) throws StandardException
source
- the result set from which to take rows to
be inserted into the target table.generationClauses
- The code to compute column generation clauses if anycheckGM
- The code to enforce the check constraints, if anyfullTemplate
- Saved item for a row template used by bulk insert,
or -1 if this is not a bulk insertschemaNameName
- schema name of tabletableName
- table nameStandardException
- thrown when unable to perform the insertResultSet getInsertVTIResultSet(NoPutResultSet source, NoPutResultSet vtiRS) throws StandardException
source
- the result set from which to take rows to
be inserted into the target table.vtiRS
- The code to instantiate the VTI, if necessaryStandardException
- thrown when unable to perform the insertResultSet getDeleteVTIResultSet(NoPutResultSet source) throws StandardException
source
- the result set from which to take rows to
be inserted into the target table.StandardException
- thrown when unable to perform the insertResultSet getDeleteResultSet(NoPutResultSet source) throws StandardException
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.StandardException
- thrown when unable to perform the deleteResultSet getMergeResultSet(NoPutResultSet drivingLeftJoin) throws StandardException
drivingLeftJoin
- the result set from which to take rows to
be drive the INSERT/UPDATE/DELETE operations.StandardException
- thrown when unable to perform the workResultSet getDeleteCascadeResultSet(NoPutResultSet source, int constantActionItem, ResultSet[] dependentResultSets, java.lang.String resultSetId) throws StandardException
source
- the result set from which to take rows to
be deleted from the target table.constantActionItem
- 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 when unable to perform the deleteResultSet getUpdateResultSet(NoPutResultSet source, GeneratedMethod generationClauses, GeneratedMethod checkGM) throws StandardException
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.generationClauses
- The code to compute column generation clauses if anycheckGM
- The code to enforce the check constraints, if anyStandardException
- thrown when unable to perform the updateResultSet getUpdateVTIResultSet(NoPutResultSet source) throws StandardException
source
- the result set from which to take rows to be
updated in the target table.StandardException
- thrown on errorResultSet getDeleteCascadeUpdateResultSet(NoPutResultSet source, GeneratedMethod generationClauses, GeneratedMethod checkGM, int constantActionItem, int rsdItem) throws StandardException
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.generationClauses
- The code to compute generated columns, if anycheckGM
- The code to enforce the check constraints, if anyconstantActionItem
- a constant action saved object referencersdItem
- result Description, saved object id.StandardException
- thrown when unable to perform the updateResultSet getCallStatementResultSet(GeneratedMethod methodCall, Activation activation) throws StandardException
methodCall
- a reference to a method in the activation
for the method callactivation
- the activation for this result setStandardException
- thrown when unable to perform the call statementNoPutResultSet getProjectRestrictResultSet(NoPutResultSet source, GeneratedMethod restriction, GeneratedMethod projection, int resultSetNumber, GeneratedMethod constantRestriction, int mapArrayItem, int cloneMapItem, boolean reuseResult, boolean doesProjection, boolean validatingCheckConstraint, java.lang.String validatingBaseTableUUIDString, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
source
- the result set from which to take rows to be
filtered by this operation.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
mapArrayItem
- Item # for mapping of source to target columnscloneMapItem
- Item # for columns that need cloningreuseResult
- Whether or not to reuse the result row.doesProjection
- Whether or not this PRN does a projectionvalidatingCheckConstraint
- true if this PRN is used to
for validating a deferred check constraint
.validatingBaseTableUUIDString
- The uuid for the table being
validated.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getHashTableResultSet(NoPutResultSet source, 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) throws StandardException
source
- the result set from which to take rows to be
filtered by this operation.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 ResultSetmapRefItem
- Item # for mapping of source to target columnsreuseResult
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getSortResultSet(NoPutResultSet source, boolean distinct, boolean isInSortedOrder, int orderItem, int rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
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.
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 orderrowAllocator
- a reference to a saved object
that generates rows of the right size and shape for the sourcerowSize
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getScalarAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, int rowAllocator, int rowSize, int resultSetNumber, boolean singleInputRow, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
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 aggregatesorderingItem
- Ignored to allow same signature as getDistinctScalarAggregateResultSetrowAllocator
- a reference to a saved object
that generates rows of the right size and shape for the sourcerowSize
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getDistinctScalarAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, int rowAllocator, int rowSize, int resultSetNumber, boolean singleInputRow, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
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 aggregatesorderingItem
- entry in preparedStatement's savedObjects for orderrowAllocator
- a reference to a saved object
that generates rows of the right size and shape for the sourcerowSize
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getGroupedAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, int rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean isRollup) throws StandardException
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 aggregatesorderingItem
- Ignored to allow same signature as getDistinctScalarAggregateResultSetrowAllocator
- a reference to a saved object
that generates rows of the right size and shape for the sourcerowSize
- Ignored to allow same signature as getDistinctScalarAggregateResultSetresultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizerisRollup
- true if this is a GROUP BY ROLLUP()StandardException
- thrown when unable to create the
result setNoPutResultSet getDistinctGroupedAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, int rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean isRollup) throws StandardException
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 aggregatesorderingItem
- entry in preparedStatement's savedObjects for orderrowAllocator
- a reference to a saved object
that generates rows of the right size and shape for the sourcerowSize
- 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 optimizerisRollup
- true if this is a GROUP BY ROLLUP()StandardException
- thrown when unable to create the
result setNoPutResultSet getAnyResultSet(NoPutResultSet source, GeneratedMethod emptyRowFun, int resultSetNumber, int subqueryNumber, int pointOfAttachment, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
source
- the result set from which to take rows to be
filtered by this operation.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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getOnceResultSet(NoPutResultSet source, GeneratedMethod emptyRowFun, int cardinalityCheck, int resultSetNumber, int subqueryNumber, int pointOfAttachment, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
source
- the result set from which to take rows to be
filtered by this operation.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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getRowResultSet(Activation activation, GeneratedMethod row, boolean canCacheRow, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getVTIResultSet(Activation activation, int 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, boolean isDerbyStyleTableFunction, int returnTypeNumber, int vtiProjectionNumber, int vtiRestrictionNumber, java.lang.String vtiSchema, java.lang.String vtiName) throws StandardException
activation
- the activation for this result set,
against which the row operation is performed to
create the result set.row
- a reference to a saved object
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 optimizerisDerbyStyleTableFunction
- True if this is a Derby-style table functionreturnTypeNumber
- Which saved object contains the return type (a multi-set) serialized as a byte arrayvtiProjectionNumber
- Which saved object contains the projection for a RestrictedVTIvtiRestrictionNumber
- Which saved object contains the restriction for a RestrictedVTIvtiSchema
- Name of the schema holding the table function.vtiName
- Name of the table function.StandardException
- thrown when unable to create the
result setNoPutResultSet getHashScanResultSet(Activation activation, long conglomId, int scociItem, int resultRowTemplate, 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 userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
activation
- the activation for this result set,
which provides the context for the row allocation operation.conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.resultRowTemplate
- The saved item for result row template.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 tableuserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlindexName
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getDistinctScanResultSet(Activation activation, long conglomId, int scociItem, int resultRowTemplate, int resultSetNumber, int hashKeyColumn, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
activation
- the activation for this result set,
which provides the context for the row allocation operation.conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.resultRowTemplate
- The saved item for result row template.resultSetNumber
- The resultSetNumber for the ResultSethashKeyColumn
- The 0-based column # for the hash key.tableName
- The full name of the tableuserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlindexName
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getValidateCheckConstraintResultSet(Activation activation, long conglomId, int scociItem, int resultRowTemplate, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
This form of the table scan operation is simple, and is to be used when there are no predicates to be passed down to the scan to limit its scope on the target table.
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.resultRowTemplate
- The saved item for result row template.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 tableuserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlindexName
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getTableScanResultSet(Activation activation, long conglomId, int scociItem, int resultRowTemplate, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
StandardException
NoPutResultSet getBulkTableScanResultSet(Activation activation, long conglomId, int scociItem, int resultRowTemplate, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean disableForHoldable, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
This form of the table scan operation is simple, and is to be used when there are no predicates to be passed down to the scan to limit its scope on the target table.
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.resultRowTemplate
- The saved item for result row template.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 tableuserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlindexName
- 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.disableForHoldable
- Whether or not bulk fetch should be disabled
at runtime if the cursor is holdable.oneRowScan
- Whether or not this is a 1 row scan.optimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getMultiProbeTableScanResultSet(Activation activation, long conglomId, int scociItem, int resultRowTemplate, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, DataValueDescriptor[] probeVals, int sortRequired, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
probeVals
- List of values with which to probe the underlying
table. Should not be null.sortRequired
- Which type of sort we need for the values
(ascending, descending, or none).StandardException
NoPutResultSet getIndexRowToBaseRowResultSet(long conglomId, int scoci, NoPutResultSet source, int resultRowAllocator, int resultSetNumber, java.lang.String indexName, int heapColRefItem, int allColRefItem, int heapOnlyColRefItem, int indexColMapItem, GeneratedMethod restriction, boolean forUpdate, double optimizerEstimatedRowCount, double optimizerEstimatedCost, int baseColumnCount) throws StandardException
conglomId
- Conglomerate # for the heap.scoci
- The saved item for the static conglomerate info.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.allColRefItem
- A saved item for a bitImpl of columns
that are referenced in the underlying
index and heap. -1 if no item.heapOnlyColRefItem
- A saved item for a bitImpl of
columns that are referenced in the
underlying heap only. -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 optimizerbaseColumnCount
- Number of columns in the base tableStandardException
- thrown when unable to create the
result setNoPutResultSet getWindowResultSet(Activation activation, NoPutResultSet source, int rowAllocator, int resultSetNumber, int erdNumber, GeneratedMethod restriction, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
activation
- Activationsource
- The result set input to this result set.rowAllocator
- A reference to a saved object
that generates rows of the right size and
shape for the source.resultSetNumber
- The resultSetNumber for the ResultSeterdNumber
- Int for ResultDescription
(so it can be turned back into an object)restriction
- The restriction, if any, to be applied to the
base rowoptimizerEstimatedRowCount
- Estimated total # of rows by optimizeroptimizerEstimatedCost
- Estimated total cost by optimizerStandardException
NoPutResultSet getNestedLoopJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, java.lang.String userSuppliedOptimizerOverrides) throws StandardException
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.
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetjoinClause
- 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 optimizeruserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlStandardException
- thrown when unable to create the
result setNoPutResultSet getHashJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, java.lang.String userSuppliedOptimizerOverrides) throws StandardException
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetjoinClause
- 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 optimizeruserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlStandardException
- thrown when unable to create the
result setNoPutResultSet getNestedLoopLeftOuterJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, GeneratedMethod emptyRowFun, boolean wasRightOuterJoin, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, java.lang.String userSuppliedOptimizerOverrides) throws StandardException
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.
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetjoinClause
- 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 optimizeruserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlStandardException
- thrown when unable to create the
result setNoPutResultSet getHashLeftOuterJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, GeneratedMethod emptyRowFun, boolean wasRightOuterJoin, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, java.lang.String userSuppliedOptimizerOverrides) throws StandardException
leftResultSet
- Outer ResultSet for join.leftNumCols
- Number of columns in the leftResultSetrightResultSet
- Inner ResultSet for join.rightNumCols
- Number of columns in the rightResultSetjoinClause
- 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 optimizeruserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlStandardException
- thrown when unable to create the
result setNoPutResultSet getMaterializedResultSet(NoPutResultSet source, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
source
- the result set input to this result set.resultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizerStandardException
- Thrown on failureNoPutResultSet getScrollInsensitiveResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int sourceRowWidth, boolean scrollable, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
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 optimizerStandardException
- Thrown on failureNoPutResultSet getNormalizeResultSet(NoPutResultSet source, int resultSetNumber, int erdNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean forUpdate) throws StandardException
source
- the result set input to this result set.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 optimizerStandardException
- Thrown on failureNoPutResultSet getCurrentOfResultSet(java.lang.String cursorName, Activation activation, int resultSetNumber)
cursorName
- the name of the cursor providing the row.resultSetNumber
- The resultSetNumber for the ResultSetNoPutResultSet getUnionResultSet(NoPutResultSet source1, NoPutResultSet source2, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
source1
- The first ResultSet whose rows go into the unionsource2
- The second ResultSet whose rows go into the
unionresultSetNumber
- The resultSetNumber for the ResultSetoptimizerEstimatedRowCount
- Estimated total # of rows by
optimizeroptimizerEstimatedCost
- Estimated total cost by optimizerStandardException
- Thrown on failureNoPutResultSet getSetOpResultSet(NoPutResultSet leftSource, NoPutResultSet rightSource, Activation activation, int resultSetNumber, long optimizerEstimatedRowCount, double optimizerEstimatedCost, int opType, boolean all, int intermediateOrderByColumnsSavedObject, int intermediateOrderByDirectionSavedObject, int intermediateOrderByNullsLowSavedObject) throws StandardException
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 DISCTINCTintermediateOrderByColumnsSavedObject
- 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 failureNoPutResultSet getLastIndexKeyResultSet(Activation activation, int resultSetNumber, int resultRowTemplate, long conglomId, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
activation
- the activation for this result set,
which provides the context for the row allocation operation.resultSetNumber
- The resultSetNumber for the ResultSetresultRowTemplate
- The saved item for result row templateconglomId
- the conglomerate of the table to be scanned.tableName
- The full name of the tableuserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlindexName
- 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 optimizerStandardException
- thrown when unable to create the
result setNoPutResultSet getRaDependentTableScanResultSet(Activation activation, long conglomId, int scociItem, int resultRowTemplate, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, java.lang.String parentResultSetId, long fkIndexConglomId, int fkColArrayItem, int rltItem) throws StandardException
activation
- the activation for this result set,
which provides the context for the row allocation operation.conglomId
- the conglomerate of the table to be scanned.scociItem
- The saved item for the static conglomerate info.resultRowTemplate
- The saved item for result row template.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 tableuserSuppliedOptimizerOverrides
- Overrides specified by the user on the sqlindexName
- 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 optimizerparentResultSetId
- Id to access the materialized temporary result
set from the reference 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 templateStandardException
- thrown when unable to create the
result setNoPutResultSet getRowCountResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, GeneratedMethod offsetMethod, GeneratedMethod fetchFirstMethod, boolean hasJDBClimitClause, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
source
- The source result set being filteredactivation
- The activation for this result set,
which provides the context for the row
allocation operationresultSetNumber
- The resultSetNumber for the ResultSetoffsetMethod
- The OFFSET parameter was specifiedfetchFirstMethod
- The FETCH FIRST/NEXT parameter was specifiedhasJDBClimitClause
- True if the offset/fetchFirst clauses were added by JDBC LIMIT escape syntaxoptimizerEstimatedRowCount
- Estimated total # of rows by optimizeroptimizerEstimatedCost
- Estimated total cost by optimizerStandardException
- Standard error policyApache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.