📄 resultsetfactory.java
字号:
Qualifier[][] qualifiers, String tableName, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** 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. <p> 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. @param conglomId the conglomerate of the table to be scanned. @param scociItem The saved item for the static conglomerate info. @param activation the activation for this result set, which provides the context for the row allocation operation. @param resultRowAllocator a reference to a method in the activation that creates a holder for the result row of the scan. May be a partial row. <verbatim> ExecRow rowAllocator() throws StandardException; </verbatim> @param resultSetNumber The resultSetNumber for the ResultSet @param startKeyGetter 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. <verbatim> ExecIndexRow startKeyGetter() throws StandardException; </verbatim> @param startSearchOperator The start search operator for opening the scan @param stopKeyGetter 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. <verbatim> ExecIndexRow stopKeyGetter() throws StandardException; </verbatim> @param stopSearchOperator The stop search operator for opening the scan @param sameStartStopPosition Re-use the startKeyGetter for the stopKeyGetter (Exact match search.) @param qualifiers the array of Qualifiers for the scan. Null or an array length of zero means there are no qualifiers. @param tableName The full name of the table @param indexName The name of the index, if one used to access table. @param isConstraint If index, if used, is a backing index for a constraint. @param forUpdate True means open for update @param colRefItem An saved item for a bitSet of columns that are referenced in the underlying table. -1 if no item. @param lockMode The lock granularity to use (see TransactionController in access) @param tableLocked Whether or not the table is marked as using table locking (in sys.systables) @param isolationLevel Isolation level (specified or not) to use on scans @param rowsPerRead The number of rows to read per fetch. @param oneRowScan Whether or not this is a 1 row scan. @param optimizerEstimatedRowCount Estimated total # of rows by optimizer @param optimizerEstimatedCost Estimated total cost by optimizer @param closeCleanup any cleanup the activation needs to do on close. @return the table scan operation as a result set. @exception StandardException thrown when unable to create the result set */ NoPutResultSet getBulkTableScanResultSet( long conglomId, int scociItem, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** 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. <p> @param conglomId Conglomerate # for the heap. @param scociItem The saved item for the static conglomerate info. @param activation the activation for this result set, which provides the context for the row allocation operation. @param source the source result set, which is expected to provide rows from an index conglomerate @param resultRowAllocator a reference to a method in the activation that creates a holder for the rows from the scan. <verbatim> ExecRow rowAllocator() throws StandardException; </verbatim> @param resultSetNumber The resultSetNumber for the ResultSet @param indexName The name of the index. @param heapColRefItem A saved item for a bitImpl of columns that are referenced in the underlying heap. -1 if no item. @param indexColRefItem A saved item for a bitImpl of columns that are referenced in the underlying index. -1 if no item. @param indexColMapItem A saved item for a ReferencedColumnsDescriptorImpl which tell which columms are coming from the index. @param restriction The restriction, if any, to be applied to the base row @param forUpdate True means to open for update @param optimizerEstimatedRowCount Estimated total # of rows by optimizer @param optimizerEstimatedCost Estimated total cost by optimizer @param closeCleanup any cleanup the activation needs to do on close. @return the index row to base row operation as a result set. @exception StandardException thrown when unable to create the result set */ public NoPutResultSet getIndexRowToBaseRowResultSet( long conglomId, int scoci, Activation a, NoPutResultSet source, GeneratedMethod resultRowAllocator, int resultSetNumber, String indexName, int heapColRefItem, int indexColRefItem, int indexColMapItem, GeneratedMethod restriction, boolean forUpdate, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** 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. <p> 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. @param leftResultSet Outer ResultSet for join. @param leftNumCols Number of columns in the leftResultSet @param rightResultSet Inner ResultSet for join. @param rightNumCols Number of columns in the rightResultSet @param activation the activation for this result set, which provides the context for the row allocation operation. @param joinClause a reference to a method in the activation that is applied to the activation's "current row" field to determine whether the joinClause is satisfied or not. The signature of this method is <verbatim> Boolean joinClause() throws StandardException; </verbatim> @param resultSetNumber The resultSetNumber for the ResultSet @param oneRowRightSide boolean, whether or not the right side returns a single row. (No need to do 2nd next() if it does.) @param notExistsRightSide boolean, whether or not the right side resides a NOT EXISTS base table @param optimizerEstimatedRowCount Estimated total # of rows by optimizer @param optimizerEstimatedCost Estimated total cost by optimizer @param closeCleanup any cleanup the activation needs to do on close. @return the nested loop join operation as a result set. @exception StandardException thrown when unable to create the result set */ public NoPutResultSet getNestedLoopJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** A hash join. @param leftResultSet Outer ResultSet for join. @param leftNumCols Number of columns in the leftResultSet @param rightResultSet Inner ResultSet for join. @param rightNumCols Number of columns in the rightResultSet @param activation the activation for this result set, which provides the context for the row allocation operation. @param joinClause a reference to a method in the activation that is applied to the activation's "current row" field to determine whether the joinClause is satisfied or not. The signature of this method is <verbatim> Boolean joinClause() throws StandardException; </verbatim> @param resultSetNumber The resultSetNumber for the ResultSet @param oneRowRightSide boolean, whether or not the right side returns a single row. (No need to do 2nd next() if it does.) @param notExistsRightSide boolean, whether or not the right side resides a NOT EXISTS base table @param optimizerEstimatedRowCount Estimated total # of rows by optimizer @param optimizerEstimatedCost Estimated total cost by optimizer @param closeCleanup any cleanup the activation needs to do on close. @return the nested loop join operation as a result set. @exception StandardException thrown when unable to create the result set */ public NoPutResultSet getHashJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** 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. <p> 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. @param leftResultSet Outer ResultSet for join. @param leftNumCols Number of columns in the leftResultSet @param rightResultSet Inner ResultSet for join. @param rightNumCols Number of columns in the rightResultSet @param activation the activation for this result set, which provides the context for the row allocation operation. @param joinClause a reference to a method in the activation that is applied to the activation's "current row" field to determine whether the joinClause is satisfied or not. The signature of this method is <verbatim> Boolean joinClause() throws StandardException; </verbatim> @param resultSetNumber The resultSetNumber for the ResultSet @param emptyRowFun a reference to a method in the activation that is called if the right child returns no rows @param wasRightOuterJoin Whether or not this was originally a right outer join @param oneRowRightSide boolean, whether or not the right side returns a single row. (No need to do 2nd next() if it does.) @param notExistsRightSide boolean, whether or not the right side resides a NOT EXISTS base table @param optimizerEstimatedRowCount Estimated total # of rows by optimizer @param optimizerEstimatedCost Estimated total cost by optimizer @param closeCleanup any cleanup the activation needs to do on close. @return the nested loop join operation as a result set. @exception StandardException thrown when unable to create the result set */ public NoPutResultSet getNestedLoopLeftOuterJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, GeneratedMethod emptyRowFun, boolean wasRightOuterJoin, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** A left outer join using a hash join.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -