📄 resultsetfactory.java
字号:
@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 getHashLeftOuterJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod joinClause, int resultSetNumber, GeneratedMethod emptyRowFun, boolean wasRightOuterJoin, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** 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. @param source the result set input to this result set. @param activation the activation for this result set, which provides the context for normalization. @param resultSetNumber The resultSetNumber for the ResultSet @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 materialization operation as a result set. @exception StandardException Thrown on failure */ NoPutResultSet getMaterializedResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** 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. @param source the result set input to this result set. @param activation the activation for this result set, which provides the context for normalization. @param resultSetNumber The resultSetNumber for the ResultSet @param sourceRowWidth The # of columns in the source row. @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 materialization operation as a result set. @exception StandardException Thrown on failure */ NoPutResultSet getScrollInsensitiveResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int sourceRowWidth, boolean scrollable, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** REMIND: needs more description... @param source the result set input to this result set. @param activation the activation for this result set, which provides the context for normalization. @param resultSetNumber The resultSetNumber for the ResultSet @param erdNumber int for ResultDescription (so it can be turned back into an object) @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 normalization operation as a result set. @exception StandardException Thrown on failure */ NoPutResultSet getNormalizeResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int erdNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean forUpdate, GeneratedMethod closeCleanup) throws StandardException; /** 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. @param cursorName the name of the cursor providing the row. @param activation the activation for this result set, used to provide information about the result set. @param resultSetNumber The resultSetNumber for the ResultSet */ NoPutResultSet getCurrentOfResultSet(String cursorName, Activation activation, int resultSetNumber, String psName); /** * 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. * * @param source1 The first ResultSet whose rows go into the union * @param source2 The second ResultSet whose rows go into the * union * @param activation the activation for this result set, * which provides the context for normalization. * @param resultSetNumber The resultSetNumber for the ResultSet * @param closeCleanup any cleanup the activation needs to do on close. * @param optimizerEstimatedRowCount Estimated total # of rows by * optimizer * @param optimizerEstimatedCost Estimated total cost by optimizer * * @return A ResultSet from which the caller can get the union * of the two source ResultSets. * * @exception StandardException Thrown on failure */ NoPutResultSet getUnionResultSet(NoPutResultSet source1, NoPutResultSet source2, Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException; /** * The SetOpResultSet is used to implement an INTERSECT or EXCEPT operation. * It selects rows from two ordered input result sets. * * @param leftSource The result set that implements the left input * @param rightSource The result set that implements the right input * @param activation the activation for this result set * @param resultSetNumber * @param optimizerEstimatedRowCount * @param optimizerEstimatedCost * @param opType IntersectOrExceptNode.INTERSECT_OP or EXCEPT_OP * @param 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 * @param closeCleanup a method to be called by close * @param intermediateOrderByColumnsSavedObject 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],... * @param 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. * * @return A ResultSet from which the caller can get the INTERSECT or EXCEPT * * @exception StandardException Thrown on failure */ NoPutResultSet getSetOpResultSet( NoPutResultSet leftSource, NoPutResultSet rightSource, Activation activation, int resultSetNumber, long optimizerEstimatedRowCount, double optimizerEstimatedCost, int opType, boolean all, GeneratedMethod closeCleanup, int intermediateOrderByColumnsSavedObject, int intermediateOrderByDirectionSavedObject) throws StandardException; // // Misc operations // /** * A last index key result set returns the last row from * the index in question. It is used as an ajunct to max(). * * @param activation the activation for this result set, * which provides the context for the row allocation operation. * @param resultSetNumber The resultSetNumber for the ResultSet * @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 conglomId the conglomerate of the table to be scanned. * @param tableName The full name of the table * @param indexName The name of the index, if one used to access table. * @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 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 scan operation as a result set. * * @exception StandardException thrown when unable to create the * result set */ NoPutResultSet getLastIndexKeyResultSet ( Activation activation, int resultSetNumber, GeneratedMethod resultRowAllocator, long conglomId, String tableName, String indexName, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup ) throws StandardException; /** 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. @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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -