| org.apache.derby.iapi.sql.execute.ResultSetFactory
All known Subclasses: org.apache.derby.impl.sql.execute.GenericResultSetFactory,
ResultSetFactory | public interface ResultSetFactory (Code) | | ResultSetFactory provides a wrapper around all of
the result sets needed in an execution implementation.
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.
author: ames |
Field Summary | |
String | MODULE Module name for the monitor's module locating system. |
Method Summary | |
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, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) A table scan result set forms a result set on a scan
of a table.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the result row of the scan. | ResultSet | getCallStatementResultSet(GeneratedMethod methodCall, Activation activation) A call statement result set simply reports that it completed. | NoPutResultSet | getCurrentOfResultSet(String cursorName, Activation activation, int resultSetNumber, 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, int constantActionItem, ResultSet[] dependentResultSets, String resultSetId) A delete Cascade result set simply reports that it completed, and
the number of rows deleted. | ResultSet | getDeleteCascadeUpdateResultSet(NoPutResultSet source, 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, GeneratedMethod rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) 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, GeneratedMethod 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, GeneratedMethod resultRowAllocator, int resultSetNumber, int hashKeyColumn, String tableName, String userSuppliedOptimizerOverrides, 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.
Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the rows from the scan.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: hashKeyColumn - The 0-based column # for the hash key. Parameters: tableName - The full name of the table Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql Parameters: indexName - The name of the index, if one used to access table. Parameters: isConstraint - If index, if used, is a backing index for a constraint. Parameters: colRefItem - An saved item for a bitSet of columns thatare referenced in the underlying table. | NoPutResultSet | getGroupedAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, GeneratedMethod rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) A GroupedAggregateResultSet computes non-distinct grouped aggregates. | public NoPutResultSet | getHashJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, String userSuppliedOptimizerOverrides) A hash join.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. | public 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, String userSuppliedOptimizerOverrides) A left outer join using a hash join.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: emptyRowFun - a reference to a method in the activationthat is called if the right child returns no rows Parameters: wasRightOuterJoin - Whether or not this was originally a right outer join Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. | NoPutResultSet | getHashScanResultSet(Activation activation, long conglomId, int scociItem, 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, String tableName, String userSuppliedOptimizerOverrides, 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.
The rows are put into the hash table on the 1st open.
Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the rows from the scan.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: startKeyGetter - a reference to a method in the activationthat gets the start key indexable row for the scan. | public 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. | public NoPutResultSet | getIndexRowToBaseRowResultSet(long conglomId, int scoci, NoPutResultSet source, GeneratedMethod resultRowAllocator, int resultSetNumber, String indexName, int heapColRefItem, int indexColRefItem, int indexColMapItem, GeneratedMethod restriction, boolean forUpdate, double optimizerEstimatedRowCount, double optimizerEstimatedCost) 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.
Parameters: conglomId - Conglomerate # for the heap. Parameters: scoci - The saved item for the static conglomerate info. Parameters: source - the source result set, which is expected to providerows from an index conglomerate Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the rows from the scan.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: indexName - The name of the index. Parameters: heapColRefItem - A saved item for a bitImpl of columns thatare referenced in the underlying heap. | ResultSet | getInsertResultSet(NoPutResultSet source, GeneratedMethod checkGM) 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, GeneratedMethod resultRowAllocator, long conglomId, String tableName, String userSuppliedOptimizerOverrides, 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 | getMiscResultSet(Activation activation) Generic Misc result set creation. | public NoPutResultSet | getNestedLoopJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, String userSuppliedOptimizerOverrides) A nested loop left outer join result set forms a result set on top of
2 other result sets.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. | public 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, String userSuppliedOptimizerOverrides) A nested loop join result set forms a result set on top of
2 other result sets.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: emptyRowFun - a reference to a method in the activationthat is called if the right child returns no rows Parameters: wasRightOuterJoin - Whether or not this was originally a right outer join Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. | 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, boolean reuseResult, boolean doesProjection, 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. | public NoPutResultSet | getRaDependentTableScanResultSet(Activation activation, long conglomId, int scociItem, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, 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 materilized
on the scan of its parent table and if the row being deleted
on parent table has a reference in the dependent table.
Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the result row of the scan. | 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.
It is used to turn constant rows into result sets for use in
the result set paradigm.
The row can be constructed when it is requested from the
result set.
Parameters: activation - the activation for this result set,against which the row operation is performed tocreate the result set. Parameters: row - a reference to a method in the activationthat creates the expected row.ExecRow row() throws StandardException; Parameters: canCacheRow - True if execution can cache the input rowafter it has gotten it. | NoPutResultSet | getScalarAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, GeneratedMethod 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) The SetOpResultSet is used to implement an INTERSECT or EXCEPT operation.
It selects rows from two ordered input result sets.
Parameters: leftSource - The result set that implements the left input Parameters: rightSource - The result set that implements the right input Parameters: activation - the activation for this result set Parameters: resultSetNumber - Parameters: optimizerEstimatedRowCount - Parameters: optimizerEstimatedCost - Parameters: opType - IntersectOrExceptNode.INTERSECT_OP or EXCEPT_OP Parameters: all - true if the operation is an INTERSECT ALL or an EXCEPT ALL,false if the operation is an INTERSECT DISCTINCT or an EXCEPT DISCTINCT Parameters: intermediateOrderByColumnsSavedObject - The saved object index for the array of order by columns for theordering of the left and right sources. | ResultSet | getSetTransactionResultSet(Activation activation) | NoPutResultSet | getSortResultSet(NoPutResultSet source, boolean distinct, boolean isInSortedOrder, int orderItem, GeneratedMethod 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, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, 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.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the result row of the scan. | 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.
(Any duplicate elimination is performed above this ResultSet.)
Forms a ResultSet returning the union of the rows in two source
ResultSets. | ResultSet | getUpdateResultSet(NoPutResultSet source, GeneratedMethod checkGM) An update result set simply reports that it completed, and
the number of rows updated. | public ResultSet | getUpdateVTIResultSet(NoPutResultSet source) Parameters: source - the result set from which to take rows to be updated in the target table. | public NoPutResultSet | getVTIResultSet(Activation activation, GeneratedMethod row, int resultSetNumber, GeneratedMethod constructor, String javaClassName, Qualifier[][] pushedQualifiers, int erdNumber, boolean version2, boolean reuseablePs, int ctcNumber, boolean isTarget, int scanIsolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) A VTI result set wraps a user supplied result set. |
MODULE | String MODULE(Code) | | Module name for the monitor's module locating system.
|
getAnyResultSet | NoPutResultSet getAnyResultSet(NoPutResultSet source, GeneratedMethod emptyRowFun, int resultSetNumber, int subqueryNumber, int pointOfAttachment, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | An any result set iterates over its source,
returning a row with all columns set to nulls
if the source returns no rows.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: emptyRowFun - a reference to a method in the activationthat is called if the source returns no rows Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: subqueryNumber - The subquery number for this subquery. Parameters: pointOfAttachment - The point of attachment for this subquery. Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the any operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getBulkTableScanResultSet | NoPutResultSet getBulkTableScanResultSet(Activation activation, long conglomId, int scociItem, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A table scan result set forms a result set on a scan
of a table.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the result row of the scan. Maybe a partial row.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: startKeyGetter - a reference to a method in the activationthat gets the start key indexable row for the scan. Nullmeans there is no start key.ExecIndexRow startKeyGetter() throws StandardException; Parameters: startSearchOperator - The start search operator for openingthe scan Parameters: stopKeyGetter - a reference to a method in the activationthat gets the stop key indexable row for the scan. Null meansthere is no stop key.ExecIndexRow stopKeyGetter() throws StandardException; Parameters: stopSearchOperator - The stop search operator for openingthe scan Parameters: sameStartStopPosition - Re-use the startKeyGetter for the stopKeyGetter(Exact match search.) Parameters: qualifiers - the array of Qualifiers for the scan.Null or an array length of zero means there are no qualifiers. Parameters: tableName - The full name of the table Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql Parameters: indexName - The name of the index, if one used to access table. Parameters: isConstraint - If index, if used, is a backing index for a constraint. Parameters: forUpdate - True means open for update Parameters: colRefItem - An saved item for a bitSet of columns thatare referenced in the underlying table. -1 ifno item. Parameters: lockMode - The lock granularity to use (seeTransactionController in access) Parameters: tableLocked - Whether or not the table is marked as using table locking(in sys.systables) Parameters: isolationLevel - Isolation level (specified or not) to use on scans Parameters: rowsPerRead - The number of rows to read per fetch. Parameters: oneRowScan - Whether or not this is a 1 row scan. Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the table scan operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getCallStatementResultSet | ResultSet getCallStatementResultSet(GeneratedMethod methodCall, Activation activation) throws StandardException(Code) | | A call statement result set simply reports that it completed.
It does not return rows.
Parameters: methodCall - a reference to a method in the activationfor the method call Parameters: activation - the activation for this result set the call statement operation as a result set. exception: StandardException - thrown when unable to perform the call statement |
getCurrentOfResultSet | NoPutResultSet getCurrentOfResultSet(String cursorName, Activation activation, int resultSetNumber, String psName)(Code) | | A current of result set forms a result set on the
current row of an open cursor.
It is used to perform positioned operations such as
positioned update and delete, using the result set paradigm.
Parameters: cursorName - the name of the cursor providing the row. Parameters: activation - the activation for this result set,used to provide information about the result set. Parameters: resultSetNumber - The resultSetNumber for the ResultSet |
getDDLResultSet | ResultSet getDDLResultSet(Activation activation) throws StandardException(Code) | | Generic DDL result set creation.
Parameters: activation - the activation for this result set ResultSet A wrapper result set to run the Execution-timelogic. exception: StandardException - thrown when unable to create theresult set |
getDeleteCascadeResultSet | ResultSet getDeleteCascadeResultSet(NoPutResultSet source, int constantActionItem, ResultSet[] dependentResultSets, String resultSetId) throws StandardException(Code) | | A delete Cascade result set simply reports that it completed, and
the number of rows deleted. It does not return rows.
The delete has been completed once the
delete result set is available.
Parameters: source - the result set from which to take rows tobe deleted from the target table. Parameters: constantActionItem - a constant action saved object reference Parameters: dependentResultSets - an array of DeleteCascade Resultsetsfor the current table referential actiondependents tables. Parameters: resultSetId - an Id which is used to store the refenceto the temporary result set created ofthe materilized rows.Dependent table resultsetsuses the same id to access their parent temporary result sets. the delete operation as a delete cascade result set. exception: StandardException - thrown when unable to perform the delete |
getDeleteCascadeUpdateResultSet | ResultSet getDeleteCascadeUpdateResultSet(NoPutResultSet source, GeneratedMethod checkGM, int constantActionItem, int rsdItem) throws StandardException(Code) | | An update result set simply reports that it completed, and
the number of rows updated. It does not return rows.
The update has been completed once the
update result set is available.
Parameters: 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. Parameters: checkGM - The code to enforce the check constraints, if any Parameters: constantActionItem - a constant action saved object reference Parameters: rsdItem - result Description, saved object id. the update operation as a result set. exception: StandardException - thrown when unable to perform the update |
getDeleteResultSet | ResultSet getDeleteResultSet(NoPutResultSet source) throws StandardException(Code) | | A delete result set simply reports that it completed, and
the number of rows deleted. It does not return rows.
The delete has been completed once the
delete result set is available.
Parameters: source - the result set from which to take rows tobe deleted from the target table. This result set mustcontain one column which provides RowLocations that arevalid in the target table. the delete operation as a result set. exception: StandardException - thrown when unable to perform the delete |
getDeleteVTIResultSet | ResultSet getDeleteVTIResultSet(NoPutResultSet source) throws StandardException(Code) | | A delete VTI result set simply reports that it completed, and
the number of rows deleted. It does not return rows.
The delete has been completed once the
delete result set is available.
Parameters: source - the result set from which to take rows tobe inserted into the target table. the delete VTI operation as a result set. exception: StandardException - thrown when unable to perform the insert |
getDistinctGroupedAggregateResultSet | NoPutResultSet getDistinctGroupedAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, GeneratedMethod rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A DistinctGroupedAggregateResultSet computes scalar aggregates when
at least one of them is a distinct aggregate.
It will compute the aggregates when open.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: isInSortedOrder - true if the source result set is in sorted order Parameters: aggregateItem - entry in preparedStatement's savedObjects for aggregates Parameters: orderingItem - entry in preparedStatement's savedObjects for order Parameters: rowAllocator - a reference to a method in the activationthat generates rows of the right size and shape for the source Parameters: rowSize - 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 approximated Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the scalar aggregation operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getDistinctScalarAggregateResultSet | NoPutResultSet getDistinctScalarAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, GeneratedMethod rowAllocator, int rowSize, int resultSetNumber, boolean singleInputRow, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A DistinctScalarAggregateResultSet computes scalar aggregates when
at least one of them is a distinct aggregate.
It will compute the aggregates when open.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: isInSortedOrder - true if the source result set is in sorted order Parameters: aggregateItem - entry in preparedStatement's savedObjects for aggregates Parameters: orderingItem - entry in preparedStatement's savedObjects for order Parameters: rowAllocator - a reference to a method in the activationthat generates rows of the right size and shape for the source Parameters: rowSize - 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 approximated Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: singleInputRow - Whether we know we have a single input row or not Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the scalar aggregation operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getDistinctScanResultSet | NoPutResultSet getDistinctScanResultSet(Activation activation, long conglomId, int scociItem, GeneratedMethod resultRowAllocator, int resultSetNumber, int hashKeyColumn, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A distinct scan result set pushes duplicate elimination into
the scan.
Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the rows from the scan.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: hashKeyColumn - The 0-based column # for the hash key. Parameters: tableName - The full name of the table Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql Parameters: indexName - The name of the index, if one used to access table. Parameters: isConstraint - If index, if used, is a backing index for a constraint. Parameters: colRefItem - An saved item for a bitSet of columns thatare referenced in the underlying table. -1 ifno item. Parameters: lockMode - The lock granularity to use (seeTransactionController in access) Parameters: tableLocked - Whether or not the table is marked as using table locking(in sys.systables) Parameters: isolationLevel - Isolation level (specified or not) to use on scans Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the table scan operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getGroupedAggregateResultSet | NoPutResultSet getGroupedAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, GeneratedMethod rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A GroupedAggregateResultSet computes non-distinct grouped aggregates.
It will compute the aggregates when open.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: isInSortedOrder - true if the source result set is in sorted order Parameters: aggregateItem - entry in preparedStatement's savedObjects for aggregates Parameters: orderingItem - Ignored to allow same signature as getDistinctScalarAggregateResultSet Parameters: rowAllocator - a reference to a method in the activationthat generates rows of the right size and shape for the source Parameters: rowSize - Ignored to allow same signature as getDistinctScalarAggregateResultSet Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the scalar aggregation operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getHashJoinResultSet | public NoPutResultSet getHashJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, String userSuppliedOptimizerOverrides) throws StandardException(Code) | | A hash join.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. (No need to do 2nd next() if it does.) Parameters: notExistsRightSide - boolean, whether or not the right side resides aNOT EXISTS base table Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql the nested loop join operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getHashLeftOuterJoinResultSet | public 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, String userSuppliedOptimizerOverrides) throws StandardException(Code) | | A left outer join using a hash join.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: emptyRowFun - a reference to a method in the activationthat is called if the right child returns no rows Parameters: wasRightOuterJoin - Whether or not this was originally a right outer join Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. (No need to do 2nd next() if it does.) Parameters: notExistsRightSide - boolean, whether or not the right side resides aNOT EXISTS base table Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql the nested loop join operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getHashScanResultSet | NoPutResultSet getHashScanResultSet(Activation activation, long conglomId, int scociItem, 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, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A hash result set forms a result set on a hash table built on a scan
of a table.
The rows are put into the hash table on the 1st open.
Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the rows from the scan.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: startKeyGetter - a reference to a method in the activationthat gets the start key indexable row for the scan. Nullmeans there is no start key.ExecIndexRow startKeyGetter() throws StandardException; Parameters: startSearchOperator - The start search operator for openingthe scan Parameters: stopKeyGetter - a reference to a method in the activationthat gets the stop key indexable row for the scan. Null meansthere is no stop key.ExecIndexRow stopKeyGetter() throws StandardException; Parameters: stopSearchOperator - The stop search operator for openingthe scan Parameters: sameStartStopPosition - Re-use the startKeyGetter for the stopKeyGetter(Exact match search.) Parameters: scanQualifiers - the array of Qualifiers for the scan.Null or an array length of zero means there are no qualifiers. Parameters: nextQualifiers - the array of Qualifiers for the look up into the hash table. Parameters: initialCapacity - The initialCapacity for the HashTable. Parameters: loadFactor - The loadFactor for the HashTable. Parameters: maxCapacity - The maximum size for the HashTable. Parameters: hashKeyColumn - The 0-based column # for the hash key. Parameters: tableName - The full name of the table Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql Parameters: indexName - The name of the index, if one used to access table. Parameters: isConstraint - If index, if used, is a backing index for a constraint. Parameters: forUpdate - True means open for update Parameters: colRefItem - An saved item for a bitSet of columns thatare referenced in the underlying table. -1 ifno item. Parameters: lockMode - The lock granularity to use (seeTransactionController in access) Parameters: tableLocked - Whether or not the table is marked as using table locking(in sys.systables) Parameters: isolationLevel - Isolation level (specified or not) to use on scans Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the table scan operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getHashTableResultSet | public 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) throws StandardException(Code) | | 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. It then does a look up into
the hash table on a probe.
The rows can be constructed as they are requested from the
result set.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: singleTableRestriction - restriction, if any, applied toinput of hash table. Parameters: equijoinQualifiers - Qualifier[] for look up into hash table Parameters: projection - a reference to a method in the activationthat is applied to the activation's "current row" fieldto project out the expected result row.The signature of this method isExecRow projection() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: mapRefItem - Item # for mapping of source to target columns Parameters: reuseResult - Whether or not to reuse the result row. Parameters: keyColItem - Item for hash key column array Parameters: removeDuplicates - Whether or not to remove duplicates when building the hash table Parameters: maxInMemoryRowCount - Max size of in-memory hash table Parameters: initialCapacity - initialCapacity for java.util.HashTable Parameters: loadFactor - loadFactor for java.util.HashTable Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the project restrict operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getIndexRowToBaseRowResultSet | public NoPutResultSet getIndexRowToBaseRowResultSet(long conglomId, int scoci, NoPutResultSet source, GeneratedMethod resultRowAllocator, int resultSetNumber, String indexName, int heapColRefItem, int indexColRefItem, int indexColMapItem, GeneratedMethod restriction, boolean forUpdate, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | 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.
Parameters: conglomId - Conglomerate # for the heap. Parameters: scoci - The saved item for the static conglomerate info. Parameters: source - the source result set, which is expected to providerows from an index conglomerate Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the rows from the scan.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: indexName - The name of the index. Parameters: heapColRefItem - A saved item for a bitImpl of columns thatare referenced in the underlying heap. -1 ifno item. Parameters: indexColRefItem - A saved item for a bitImpl of columns thatare referenced in the underlying index. -1 ifno item. Parameters: indexColMapItem - A saved item for a ReferencedColumnsDescriptorImplwhich tell which columms are coming from the index. Parameters: restriction - The restriction, if any, to be applied to the base row Parameters: forUpdate - True means to open for update Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the index row to base row operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getInsertResultSet | ResultSet getInsertResultSet(NoPutResultSet source, GeneratedMethod checkGM) throws StandardException(Code) | | An insert result set simply reports that it completed, and
the number of rows inserted. It does not return rows.
The insert has been completed once the
insert result set is available.
Parameters: source - the result set from which to take rows tobe inserted into the target table. Parameters: checkGM - The code to enforce the check constraints, if any the insert operation as a result set. exception: StandardException - thrown when unable to perform the insert |
getInsertVTIResultSet | ResultSet getInsertVTIResultSet(NoPutResultSet source, NoPutResultSet vtiRS) throws StandardException(Code) | | An insert VTI result set simply reports that it completed, and
the number of rows inserted. It does not return rows.
The insert has been completed once the
insert result set is available.
Parameters: source - the result set from which to take rows tobe inserted into the target table. Parameters: vtiRS - The code to instantiate the VTI, if necessary the insert VTI operation as a result set. exception: StandardException - thrown when unable to perform the insert |
getLastIndexKeyResultSet | NoPutResultSet getLastIndexKeyResultSet(Activation activation, int resultSetNumber, GeneratedMethod resultRowAllocator, long conglomId, String tableName, String userSuppliedOptimizerOverrides, String indexName, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A last index key result set returns the last row from
the index in question. It is used as an ajunct to max().
Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the result row of the scan. Maybe a partial row. ExecRow rowAllocator() throws StandardException; Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: tableName - The full name of the table Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql Parameters: indexName - The name of the index, if one used to access table. Parameters: colRefItem - An saved item for a bitSet of columns thatare referenced in the underlying table. -1 ifno item. Parameters: lockMode - The lock granularity to use (seeTransactionController in access) Parameters: tableLocked - Whether or not the table is marked as using table locking(in sys.systables) Parameters: isolationLevel - Isolation level (specified or not) to use on scans Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the scan operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getMaterializedResultSet | NoPutResultSet getMaterializedResultSet(NoPutResultSet source, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A ResultSet which materializes the underlying ResultSet tree into a
temp table on the 1st open. All subsequent "scans" of this ResultSet
will return results from the temp table.
Parameters: source - the result set input to this result set. Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the materialization operation as a result set. exception: StandardException - Thrown on failure |
getMiscResultSet | ResultSet getMiscResultSet(Activation activation) throws StandardException(Code) | | Generic Misc result set creation.
Parameters: activation - the activation for this result set ResultSet A wrapper result set to run the Execution-timelogic. exception: StandardException - thrown when unable to create theresult set |
getNestedLoopJoinResultSet | public NoPutResultSet getNestedLoopJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, String userSuppliedOptimizerOverrides) throws StandardException(Code) | | A nested loop left outer join result set forms a result set on top of
2 other result sets.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. (No need to do 2nd next() if it does.) Parameters: notExistsRightSide - boolean, whether or not the right side resides aNOT EXISTS base table Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql the nested loop join operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getNestedLoopLeftOuterJoinResultSet | public 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, String userSuppliedOptimizerOverrides) throws StandardException(Code) | | A nested loop join result set forms a result set on top of
2 other result sets.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: leftResultSet - Outer ResultSet for join. Parameters: leftNumCols - Number of columns in the leftResultSet Parameters: rightResultSet - Inner ResultSet for join. Parameters: rightNumCols - Number of columns in the rightResultSet Parameters: joinClause - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the joinClause is satisfied or not.The signature of this method isBoolean joinClause() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: emptyRowFun - a reference to a method in the activationthat is called if the right child returns no rows Parameters: wasRightOuterJoin - Whether or not this was originally a right outer join Parameters: oneRowRightSide - boolean, whether or not the right side returnsa single row. (No need to do 2nd next() if it does.) Parameters: notExistsRightSide - boolean, whether or not the right side resides aNOT EXISTS base table Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql the nested loop join operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getNormalizeResultSet | NoPutResultSet getNormalizeResultSet(NoPutResultSet source, int resultSetNumber, int erdNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean forUpdate) throws StandardException(Code) | | REMIND: needs more description...
Parameters: source - the result set input to this result set. Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: erdNumber - int for ResultDescription (so it can be turned back into an object) Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the normalization operation as a result set. exception: StandardException - Thrown on failure |
getOnceResultSet | NoPutResultSet getOnceResultSet(NoPutResultSet source, GeneratedMethod emptyRowFun, int cardinalityCheck, int resultSetNumber, int subqueryNumber, int pointOfAttachment, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | 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.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: emptyRowFun - a reference to a method in the activationthat is called if the source returns no rows Parameters: cardinalityCheck - The type of cardinality check, if any thatis required Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: subqueryNumber - The subquery number for this subquery. Parameters: pointOfAttachment - The point of attachment for this subquery. Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the once operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getProjectRestrictResultSet | NoPutResultSet getProjectRestrictResultSet(NoPutResultSet source, GeneratedMethod restriction, GeneratedMethod projection, int resultSetNumber, GeneratedMethod constantRestriction, int mapArrayItem, boolean reuseResult, boolean doesProjection, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | 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.
The rows can be constructed as they are requested from the
result set.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: restriction - a reference to a method in the activationthat is applied to the activation's "current row" fieldto determine whether the restriction is satisfied or not.The signature of this method isBoolean restriction() throws StandardException; Parameters: projection - a reference to a method in the activationthat is applied to the activation's "current row" fieldto project out the expected result row.The signature of this method isExecRow projection() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: constantRestriction - a reference to a method in the activationthat represents a constant expression (eg where 1 = 2).The signature of this method isBoolean restriction() throws StandardException; Parameters: mapArrayItem - Item # for mapping of source to target columns Parameters: reuseResult - Whether or not to reuse the result row. Parameters: doesProjection - Whether or not this PRN does a projection Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the project restrict operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getRaDependentTableScanResultSet | public NoPutResultSet getRaDependentTableScanResultSet(Activation activation, long conglomId, int scociItem, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, String parentResultSetId, long fkIndexConglomId, int fkColArrayItem, int rltItem) throws StandardException(Code) | | A Dependent table scan result set forms a result set on a scan
of a dependent table for the rows that got materilized
on the scan of its parent table and if the row being deleted
on parent table has a reference in the dependent table.
Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the result row of the scan. Maybe a partial row.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: startKeyGetter - a reference to a method in the activationthat gets the start key indexable row for the scan. Nullmeans there is no start key.ExecIndexRow startKeyGetter() throws StandardException; Parameters: startSearchOperator - The start search operator for openingthe scan Parameters: stopKeyGetter - a reference to a method in the activationthat gets the stop key indexable row for the scan. Null meansthere is no stop key.ExecIndexRow stopKeyGetter() throws StandardException; Parameters: stopSearchOperator - The stop search operator for openingthe scan Parameters: sameStartStopPosition - Re-use the startKeyGetter for the stopKeyGetter(Exact match search.) Parameters: qualifiers - the array of Qualifiers for the scan.Null or an array length of zero means there are no qualifiers. Parameters: tableName - The full name of the table Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql Parameters: indexName - The name of the index, if one used to access table. Parameters: isConstraint - If index, if used, is a backing index for a constraint. Parameters: forUpdate - True means open for update Parameters: colRefItem - An saved item for a bitSet of columns thatare referenced in the underlying table. -1 ifno item. Parameters: lockMode - The lock granularity to use (seeTransactionController in access) Parameters: tableLocked - Whether or not the table is marked as using table locking(in sys.systables) Parameters: isolationLevel - Isolation level (specified or not) to use on scans Parameters: oneRowScan - Whether or not this is a 1 row scan. Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer Parameters: parentResultSetId - Id to access the materlized temporary resultset from the refence stored in the activation. Parameters: fkIndexConglomId - foreign key index conglomerate id. Parameters: fkColArrayItem - saved column array object that matches the foreign key indexcolumns and the resultset from the parent table. Parameters: rltItem - row location template the table scan operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getRowResultSet | NoPutResultSet getRowResultSet(Activation activation, GeneratedMethod row, boolean canCacheRow, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A row result set forms a result set on a single, known row value.
It is used to turn constant rows into result sets for use in
the result set paradigm.
The row can be constructed when it is requested from the
result set.
Parameters: activation - the activation for this result set,against which the row operation is performed tocreate the result set. Parameters: row - a reference to a method in the activationthat creates the expected row.ExecRow row() throws StandardException; Parameters: canCacheRow - True if execution can cache the input rowafter it has gotten it. If the input row is constructed soleyof constants or parameters, it is ok to cache this row ratherthan recreating it each time it is requested. Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the row as a result set. exception: StandardException - thrown when unable to create theresult set |
getScalarAggregateResultSet | NoPutResultSet getScalarAggregateResultSet(NoPutResultSet source, boolean isInSortedOrder, int aggregateItem, int orderingItem, GeneratedMethod rowAllocator, int rowSize, int resultSetNumber, boolean singleInputRow, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A ScalarAggregateResultSet computes non-distinct scalar aggregates.
It will compute the aggregates when open.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: isInSortedOrder - true if the source result set is in sorted order Parameters: aggregateItem - entry in preparedStatement's savedObjects for aggregates Parameters: orderingItem - Ignored to allow same signature as getDistinctScalarAggregateResultSet Parameters: rowAllocator - a reference to a method in the activationthat generates rows of the right size and shape for the source Parameters: rowSize - Ignored to allow same signature as getDistinctScalarAggregateResultSet Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: singleInputRow - Whether we know we have a single input row or not Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the scalar aggregation operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getScrollInsensitiveResultSet | NoPutResultSet getScrollInsensitiveResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int sourceRowWidth, boolean scrollable, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | 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.
Parameters: source - the result set input to this result set. Parameters: activation - the activation for this result set,which provides the context for normalization. Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: sourceRowWidth - The # of columns in the source row. Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the materialization operation as a result set. exception: StandardException - Thrown on failure |
getSetOpResultSet | NoPutResultSet getSetOpResultSet(NoPutResultSet leftSource, NoPutResultSet rightSource, Activation activation, int resultSetNumber, long optimizerEstimatedRowCount, double optimizerEstimatedCost, int opType, boolean all, int intermediateOrderByColumnsSavedObject, int intermediateOrderByDirectionSavedObject) throws StandardException(Code) | | The SetOpResultSet is used to implement an INTERSECT or EXCEPT operation.
It selects rows from two ordered input result sets.
Parameters: leftSource - The result set that implements the left input Parameters: rightSource - The result set that implements the right input Parameters: activation - the activation for this result set Parameters: resultSetNumber - Parameters: optimizerEstimatedRowCount - Parameters: optimizerEstimatedCost - Parameters: opType - IntersectOrExceptNode.INTERSECT_OP or EXCEPT_OP Parameters: all - true if the operation is an INTERSECT ALL or an EXCEPT ALL,false if the operation is an INTERSECT DISCTINCT or an EXCEPT DISCTINCT Parameters: intermediateOrderByColumnsSavedObject - The saved object index for the array of order by columns for theordering of the left and right sources. That is, both the left and right sources have an order byclause of the form ORDER BY intermediateOrderByColumns[0],intermediateOrderByColumns[1],... Parameters: intermediateOrderByDirectionSavedObject - The saved object index for the array of sourceorder by directions. That is, the ordering of the i'th order by column in the input is ascendingif intermediateOrderByDirection[i] is 1, descending if intermediateOrderByDirection[i] is -1. A ResultSet from which the caller can get the INTERSECT or EXCEPT exception: StandardException - Thrown on failure |
getSetTransactionResultSet | ResultSet getSetTransactionResultSet(Activation activation) throws StandardException(Code) | | Parameters: activation - the activation for this result set ResultSet A wrapper result set to run the Execution-timelogic. exception: StandardException - thrown when unable to create theresult set |
getSortResultSet | NoPutResultSet getSortResultSet(NoPutResultSet source, boolean distinct, boolean isInSortedOrder, int orderItem, GeneratedMethod rowAllocator, int rowSize, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A sort result set sorts its source and if requested removes
duplicates. It will generate the entire result when open, and
then return it a row at a time.
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.
Parameters: source - the result set from which to take rows to be filtered by this operation. Parameters: distinct - true if distinct SELECT list Parameters: isInSortedOrder - true if the source result set is in sorted order Parameters: orderItem - entry in preparedStatement's savedObjects for order Parameters: rowAllocator - a reference to a method in the activationthat generates rows of the right size and shape for the source Parameters: rowSize - 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 approximated Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the distinct operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getTableScanResultSet | NoPutResultSet getTableScanResultSet(Activation activation, long conglomId, int scociItem, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A table scan result set forms a result set on a scan
of a table.
The rows can be constructed as they are requested from the
result set.
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.
Parameters: conglomId - the conglomerate of the table to be scanned. Parameters: scociItem - The saved item for the static conglomerate info. Parameters: activation - the activation for this result set,which provides the context for the row allocation operation. Parameters: resultRowAllocator - a reference to a method in the activationthat creates a holder for the result row of the scan. Maybe a partial row.ExecRow rowAllocator() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: startKeyGetter - a reference to a method in the activationthat gets the start key indexable row for the scan. Nullmeans there is no start key.ExecIndexRow startKeyGetter() throws StandardException; Parameters: startSearchOperator - The start search operator for openingthe scan Parameters: stopKeyGetter - a reference to a method in the activationthat gets the stop key indexable row for the scan. Null meansthere is no stop key.ExecIndexRow stopKeyGetter() throws StandardException; Parameters: stopSearchOperator - The stop search operator for openingthe scan Parameters: sameStartStopPosition - Re-use the startKeyGetter for the stopKeyGetter(Exact match search.) Parameters: qualifiers - the array of Qualifiers for the scan.Null or an array length of zero means there are no qualifiers. Parameters: tableName - The full name of the table Parameters: userSuppliedOptimizerOverrides - Overrides specified by the user on the sql Parameters: indexName - The name of the index, if one used to access table. Parameters: isConstraint - If index, if used, is a backing index for a constraint. Parameters: forUpdate - True means open for update Parameters: colRefItem - An saved item for a bitSet of columns thatare referenced in the underlying table. -1 ifno item. Parameters: lockMode - The lock granularity to use (seeTransactionController in access) Parameters: tableLocked - Whether or not the table is marked as using table locking(in sys.systables) Parameters: isolationLevel - Isolation level (specified or not) to use on scans Parameters: oneRowScan - Whether or not this is a 1 row scan. Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the table scan operation as a result set. exception: StandardException - thrown when unable to create theresult set |
getUnionResultSet | NoPutResultSet getUnionResultSet(NoPutResultSet source1, NoPutResultSet source2, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | The Union interface is used to evaluate the union (all) of two ResultSets.
(Any duplicate elimination is performed above this ResultSet.)
Forms a ResultSet returning the union of the rows in two source
ResultSets. The column types in source1 and source2 are assumed to be
the same.
Parameters: source1 - The first ResultSet whose rows go into the union Parameters: source2 - The second ResultSet whose rows go into theunion Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer A ResultSet from which the caller can get the unionof the two source ResultSets. exception: StandardException - Thrown on failure |
getUpdateResultSet | ResultSet getUpdateResultSet(NoPutResultSet source, GeneratedMethod checkGM) throws StandardException(Code) | | An update result set simply reports that it completed, and
the number of rows updated. It does not return rows.
The update has been completed once the
update result set is available.
Parameters: 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. Parameters: checkGM - The code to enforce the check constraints, if any the update operation as a result set. exception: StandardException - thrown when unable to perform the update |
getVTIResultSet | public NoPutResultSet getVTIResultSet(Activation activation, GeneratedMethod row, int resultSetNumber, GeneratedMethod constructor, String javaClassName, Qualifier[][] pushedQualifiers, int erdNumber, boolean version2, boolean reuseablePs, int ctcNumber, boolean isTarget, int scanIsolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | A VTI result set wraps a user supplied result set.
Parameters: activation - the activation for this result set,against which the row operation is performed tocreate the result set. Parameters: row - a reference to a method in the activationthat creates the expected row.ExecRow row() throws StandardException; Parameters: resultSetNumber - The resultSetNumber for the ResultSet Parameters: constructor - The GeneratedMethod for the user's constructor Parameters: javaClassName - The java class name for the VTI Parameters: erdNumber - int for referenced column BitSet (so it can be turned back into an object) Parameters: version2 - Whether or not VTI is a version 2 VTI. Parameters: isTarget - Whether or not VTI is a target VTI. Parameters: optimizerEstimatedRowCount - Estimated total # of rows byoptimizer Parameters: optimizerEstimatedCost - Estimated total cost by optimizer the row as a result set. exception: StandardException - thrown when unable to create theresult set |
|
|