Class LastIndexKeyResultSet
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
-
- org.apache.derby.impl.sql.execute.NoPutResultSetImpl
-
- org.apache.derby.impl.sql.execute.ScanResultSet
-
- org.apache.derby.impl.sql.execute.LastIndexKeyResultSet
-
- All Implemented Interfaces:
NoPutResultSet,ResultSet,RowLocationRetRowSource,RowSource
class LastIndexKeyResultSet extends ScanResultSet
Return the last key in an index. Used to perform max().
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
BasicNoPutResultSetImpl.FieldComparator
-
-
Field Summary
Fields Modifier and Type Field Description booleancoarserLockprotected longconglomIdprotected Qualifier[][]qualifiersbooleanreturnedRowprotected booleanrunTimeStatisticsOnprotected intstartSearchOperatorjava.lang.StringstopPositionStringprotected intstopSearchOperatorjava.lang.StringuserSuppliedOptimizerOverrides-
Fields inherited from class org.apache.derby.impl.sql.execute.ScanResultSet
accessedCols, candidate, fetchRowLocations, indexName, isolationLevel, lockMode, resultRowBuilder, tableName
-
Fields inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet
-
Fields inherited from class org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
activation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray
-
Fields inherited from interface org.apache.derby.iapi.sql.execute.NoPutResultSet
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE, TEMPORARY_RESULT_SET_NUMBER
-
Fields inherited from interface org.apache.derby.iapi.sql.ResultSet
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST
-
-
Constructor Summary
Constructors Constructor Description LastIndexKeyResultSet(Activation activation, int resultSetNumber, int resultRowTemplate, long conglomId, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost)A last index key result set returns the last row from the index in question.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleancanGetInstantaneousLocks()Can we get instantaneous locks when getting share row locks at READ COMMITTED.voidclose()If the result set has been opened, close the open scan.ExecRowgetCurrentRow()This result set has its row from the last fetch done.ExecRowgetNextRowCore()Return the next row (if any) from the scan (if open).longgetTimeSpent(int type)Return the total amount of time spent in this ResultSetvoidopenCore()open a scan on the table. scan parameters are evaluated at each open, so there is probably some way of altering their values...-
Methods inherited from class org.apache.derby.impl.sql.execute.ScanResultSet
getScanIsolationLevel, initIsolationLevel, setRowLocationsState, toXML
-
Methods inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, isForUpdate, markRowAsDeleted, needsRowLocation, needsRowLocationForDeferredCheckConstraints, needsToClone, offendingRowLocation, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setHasDeferrableChecks, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, unpackHashValue, updateRow
-
Methods inherited from class org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
addWarning, attachStatementContext, checkCancellationFlag, checkRowPosition, childrenToXML, cleanUp, dumpTimeStats, finish, finishAndRTS, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCompactRow, getCurrentTimeMillis, getElapsedMillis, getEndExecutionTimestamp, getEstimatedRowCount, getExecuteTime, getExecutionFactory, getFirstRow, getLanguageConnectionContext, getLastRow, getNextRow, getPointOfAttachment, getPreviousRow, getRelativeRow, getRowNumber, getSubqueryTrackingArray, getTransactionController, getWarnings, isClosed, isXplainOnlyMode, markAsTopResultSet, modifiedRowCount, open, recordConstructorTime, reopenCore, requiresRelocking, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRow, toXML
-
-
-
-
Field Detail
-
conglomId
protected long conglomId
-
startSearchOperator
protected int startSearchOperator
-
stopSearchOperator
protected int stopSearchOperator
-
qualifiers
protected Qualifier[][] qualifiers
-
userSuppliedOptimizerOverrides
public java.lang.String userSuppliedOptimizerOverrides
-
runTimeStatisticsOn
protected boolean runTimeStatisticsOn
-
stopPositionString
public java.lang.String stopPositionString
-
coarserLock
public boolean coarserLock
-
returnedRow
public boolean returnedRow
-
-
Constructor Detail
-
LastIndexKeyResultSet
public LastIndexKeyResultSet(Activation activation, int resultSetNumber, int resultRowTemplate, long conglomId, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
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.resultSetNumber- The resultSetNumber for the ResultSetresultRowTemplate- The saved item for result row templateconglomId- the conglomerate of the table to be scanned.tableName- The full name of the tableuserSuppliedOptimizerOverrides- Overrides specified by the user on the sqlindexName- The name of the index, if one used to access table.colRefItem- An saved item for a bitSet of columns that are referenced in the underlying table. -1 if no item.lockMode- The lock granularity to use (see TransactionController in access)tableLocked- Whether or not the table is marked as using table locking (in sys.systables)isolationLevel- Isolation level (specified or not) to use on scansoptimizerEstimatedRowCount- Estimated total # of rows by optimizeroptimizerEstimatedCost- Estimated total cost by optimizer- Throws:
StandardException- thrown when unable to create the result set
-
-
Method Detail
-
canGetInstantaneousLocks
boolean canGetInstantaneousLocks()
Can we get instantaneous locks when getting share row locks at READ COMMITTED.- Specified by:
canGetInstantaneousLocksin classScanResultSet
-
openCore
public void openCore() throws StandardExceptionopen a scan on the table. scan parameters are evaluated at each open, so there is probably some way of altering their values...- Throws:
StandardException- thrown on failure to open
-
getNextRowCore
public ExecRow getNextRowCore() throws StandardException
Return the next row (if any) from the scan (if open).- Specified by:
getNextRowCorein interfaceNoPutResultSet- Specified by:
getNextRowCorein classBasicNoPutResultSetImpl- Returns:
- the next row in the result
- Throws:
StandardException- thrown on failure to get next row- See Also:
NoPutResultSet.getNextRowCore()
-
close
public void close() throws StandardExceptionIf the result set has been opened, close the open scan.- Specified by:
closein interfaceResultSet- Overrides:
closein classScanResultSet- Throws:
StandardException- thrown on failure to close
-
getTimeSpent
public long getTimeSpent(int type)
Return the total amount of time spent in this ResultSet- Parameters:
type- CURRENT_RESULTSET_ONLY - time spent only in this ResultSet ENTIRE_RESULTSET_TREE - time spent in this ResultSet and below.- Returns:
- long The total amount of time spent (in milliseconds).
-
getCurrentRow
public ExecRow getCurrentRow() throws StandardException
This result set has its row from the last fetch done. If the cursor is closed, a null is returned.- Returns:
- the last row returned;
- Throws:
StandardException- thrown on failure.- See Also:
CursorResultSet
-
-