📄 genericresultsetfactory.java
字号:
@see ResultSetFactory#getHashJoinResultSet @exception StandardException thrown on error */ 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 { return new HashJoinResultSet(leftResultSet, leftNumCols, rightResultSet, rightNumCols, activation, joinClause, resultSetNumber, oneRowRightSide, notExistsRightSide, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup); } /** @see ResultSetFactory#getNestedLoopLeftOuterJoinResultSet @exception StandardException thrown on error */ 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 { return new NestedLoopLeftOuterJoinResultSet(leftResultSet, leftNumCols, rightResultSet, rightNumCols, activation, joinClause, resultSetNumber, emptyRowFun, wasRightOuterJoin, oneRowRightSide, notExistsRightSide, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup); } /** @see ResultSetFactory#getHashLeftOuterJoinResultSet @exception StandardException thrown on error */ 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 { return new HashLeftOuterJoinResultSet(leftResultSet, leftNumCols, rightResultSet, rightNumCols, activation, joinClause, resultSetNumber, emptyRowFun, wasRightOuterJoin, oneRowRightSide, notExistsRightSide, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup); } /** @see ResultSetFactory#getSetTransactionResultSet @exception StandardException thrown when unable to create the result set */ public ResultSet getSetTransactionResultSet(Activation activation) throws StandardException { getAuthorizer(activation).authorize(Authorizer.SQL_ARBITARY_OP); return new SetTransactionResultSet(activation); } /** @see ResultSetFactory#getMaterializedResultSet @exception StandardException thrown on error */ public NoPutResultSet getMaterializedResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException { return new MaterializedResultSet(source, activation, resultSetNumber, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup); } /** @see ResultSetFactory#getScrollInsensitiveResultSet @exception StandardException thrown on error */ public NoPutResultSet getScrollInsensitiveResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int sourceRowWidth, boolean scrollable, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException { /* ResultSet tree is dependent on whether or not this is * for a scroll insensitive cursor. */ if (scrollable) { return new ScrollInsensitiveResultSet(source, activation, resultSetNumber, sourceRowWidth, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup); } else { return source; } } /** @see ResultSetFactory#getNormalizeResultSet @exception StandardException thrown on error */ public NoPutResultSet getNormalizeResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int erdNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean forUpdate, GeneratedMethod closeCleanup) throws StandardException { return new NormalizeResultSet(source, activation, resultSetNumber, erdNumber, optimizerEstimatedRowCount, optimizerEstimatedCost, forUpdate, closeCleanup); } /** @see ResultSetFactory#getCurrentOfResultSet */ public NoPutResultSet getCurrentOfResultSet(String cursorName, Activation activation, int resultSetNumber, String psName) { return new CurrentOfResultSet(cursorName, activation, resultSetNumber, psName); } /** @see ResultSetFactory#getDDLResultSet @exception StandardException thrown on error */ public ResultSet getDDLResultSet(Activation activation) throws StandardException { getAuthorizer(activation).authorize(Authorizer.SQL_DDL_OP); return getMiscResultSet( activation); } /** @see ResultSetFactory#getMiscResultSet @exception StandardException thrown on error */ public ResultSet getMiscResultSet(Activation activation) throws StandardException { getAuthorizer(activation).authorize(Authorizer.SQL_ARBITARY_OP); return new MiscResultSet(activation); } /** a minimal union scan generator, for ease of use at present. @see ResultSetFactory#getUnionResultSet @exception StandardException thrown on error */ public NoPutResultSet getUnionResultSet(NoPutResultSet leftResultSet, NoPutResultSet rightResultSet, Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup) throws StandardException { return new UnionResultSet(leftResultSet, rightResultSet, activation, resultSetNumber, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup); } public NoPutResultSet getSetOpResultSet( NoPutResultSet leftSource, NoPutResultSet rightSource, Activation activation, int resultSetNumber, long optimizerEstimatedRowCount, double optimizerEstimatedCost, int opType, boolean all, GeneratedMethod closeCleanup, int intermediateOrderByColumnsSavedObject, int intermediateOrderByDirectionSavedObject) throws StandardException { return new SetOpResultSet( leftSource, rightSource, activation, resultSetNumber, optimizerEstimatedRowCount, optimizerEstimatedCost, opType, all, closeCleanup, intermediateOrderByColumnsSavedObject, intermediateOrderByDirectionSavedObject); } /** * A last index key sresult 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 */ public 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 { return new LastIndexKeyResultSet( activation, resultSetNumber, resultRowAllocator, conglomId, tableName, indexName, colRefItem, lockMode, tableLocked, isolationLevel, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup); } /** * a referential action dependent table scan generator. * @see ResultSetFactory#getTableScanResultSet * @exception StandardException thrown on error */ public NoPutResultSet getRaDependentTableScanResultSet( 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, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, GeneratedMethod closeCleanup, String parentResultSetId, long fkIndexConglomId, int fkColArrayItem, int rltItem) throws StandardException { StaticCompiledOpenConglomInfo scoci = (StaticCompiledOpenConglomInfo)(activation.getPreparedStatement(). getSavedObject(scociItem)); return new DependentResultSet( conglomId, scoci, activation, resultRowAllocator, resultSetNumber, startKeyGetter, startSearchOperator, stopKeyGetter, stopSearchOperator, sameStartStopPosition, qualifiers, tableName, indexName, isConstraint, forUpdate, colRefItem, lockMode, tableLocked, isolationLevel, 1, oneRowScan, optimizerEstimatedRowCount, optimizerEstimatedCost, closeCleanup, parentResultSetId, fkIndexConglomId, fkColArrayItem, rltItem); } static private Authorizer getAuthorizer(Activation activation) { LanguageConnectionContext lcc = activation.getLanguageConnectionContext(); return lcc.getAuthorizer(); } ///////////////////////////////////////////////////////////////// // // PUBLIC MINIONS // /////////////////////////////////////////////////////////////////}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -