java.lang.Cloneable
, CursorResultSet
, NoPutResultSet
, ResultSet
, RowLocationRetRowSource
, RowSource
BulkTableScanResultSet
, MultiProbeTableScanResultSet
, ValidateCheckConstraintResultSet
class TableScanResultSet extends ScanResultSet implements CursorResultSet, java.lang.Cloneable
BasicNoPutResultSetImpl.FieldComparator
activation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE, TEMPORARY_RESULT_SET_NUMBER
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST
accessedCols, candidate, fetchRowLocations, indexName, isolationLevel, lockMode, resultRowBuilder, tableName
Constructor | Description |
---|---|
TableScanResultSet(long conglomId,
StaticCompiledOpenConglomInfo scoci,
Activation activation,
int resultRowTemplate,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] qualifiers,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
int rowsPerRead,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost) |
Modifier and Type | Method | Description |
---|---|---|
protected boolean |
canGetInstantaneousLocks() |
Can we get instantaneous locks when getting share row
locks at READ COMMITTED.
|
java.lang.Object |
clone() |
Shallow clone this result set.
|
void |
close() |
If the result set has been opened,
close the open scan.
|
ExecRow |
getCurrentRow() |
This result set has its row from the last fetch done.
|
ExecRow |
getNextRowCore() |
Return the next row (if any) from the scan (if open).
|
RowLocation |
getRowLocation() |
This result set has its row location from
the last fetch done.
|
java.util.Properties |
getScanProperties() |
|
long |
getTimeSpent(int type) |
Return the total amount of time spent in this ResultSet
|
(package private) void |
initStartAndStopKey() |
Initialize the
startPosition and stopPosition fields
which are used to limit the rows returned by the scan. |
boolean |
isForUpdate() |
Is this ResultSet or it's source result set for update
|
(package private) boolean |
loopControl(boolean moreRows) |
|
void |
openCore() |
open a scan on the table. scan parameters are evaluated
at each open, so there is probably some way of altering
their values...
|
protected void |
openScanController(TransactionController tc) |
|
void |
positionScanAtRowLocation(RowLocation rl) |
Positions the cursor in the specified rowLocation.
|
private java.lang.String |
printPosition(int searchOperator,
GeneratedMethod positionGetter,
ExecIndexRow positioner) |
Return a start or stop positioner as a String.
|
java.lang.String |
printStartPosition() |
Print an array of Qualifiers to the trace stream.
|
java.lang.String |
printStopPosition() |
|
void |
reopenCore() |
Reopen a table scan.
|
protected void |
reopenScanController() |
|
boolean |
requiresRelocking() |
Do we need to relock the row when going to the heap.
|
protected void |
setRowCountIfPossible(long rowsThisScan) |
Update the number of rows in the scan controller.
|
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, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRow, toXML
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, markRowAsDeleted, needsRowLocation, needsRowLocationForDeferredCheckConstraints, needsToClone, offendingRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setHasDeferrableChecks, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, unpackHashValue, updateRow
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addWarning, checkRowPosition, cleanUp, clearCurrentRow, finish, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCursorName, getEndExecutionTimestamp, getExecuteTime, getFirstRow, getLastRow, getNextRow, getPreviousRow, getRelativeRow, getResultDescription, getRowNumber, getSubqueryTrackingArray, getWarnings, isClosed, modifiedRowCount, open, returnsRows, setAfterLastRow, setBeforeFirstRow, toXML
getScanIsolationLevel, initIsolationLevel, setRowLocationsState, toXML
protected ScanController scanController
protected boolean scanControllerOpened
protected boolean isKeyed
protected boolean firstScan
protected ExecIndexRow startPosition
protected ExecIndexRow stopPosition
protected long conglomId
protected DynamicCompiledOpenConglomInfo dcoci
protected StaticCompiledOpenConglomInfo scoci
protected GeneratedMethod startKeyGetter
protected int startSearchOperator
protected GeneratedMethod stopKeyGetter
protected int stopSearchOperator
public Qualifier[][] qualifiers
public java.lang.String userSuppliedOptimizerOverrides
protected boolean runTimeStatisticsOn
protected int[] indexCols
public int rowsPerRead
public boolean forUpdate
final boolean sameStartStopPosition
protected boolean nextDone
private RowLocation rlTemplate
private java.util.Properties scanProperties
public java.lang.String startPositionString
public java.lang.String stopPositionString
public boolean isConstraint
public boolean coarserLock
public boolean oneRowScan
protected long rowsThisScan
private long estimatedRowCount
protected BackingStoreHashtable past2FutureTbl
protected boolean qualify
protected boolean currentRowIsValid
protected boolean scanRepositioned
TableScanResultSet(long conglomId, StaticCompiledOpenConglomInfo scoci, Activation activation, int resultRowTemplate, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.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
StandardException
public void openCore() throws StandardException
openCore
in interface NoPutResultSet
StandardException
- thrown on failure to openvoid initStartAndStopKey() throws StandardException
startPosition
and stopPosition
fields
which are used to limit the rows returned by the scan.StandardException
protected void openScanController(TransactionController tc) throws StandardException
StandardException
protected void reopenScanController() throws StandardException
StandardException
public void reopenCore() throws StandardException
reopenCore
in interface NoPutResultSet
reopenCore
in class BasicNoPutResultSetImpl
StandardException
- thrown on failure to openNoPutResultSet.openCore()
boolean loopControl(boolean moreRows) throws StandardException
StandardException
public ExecRow getNextRowCore() throws StandardException
getNextRowCore
in interface NoPutResultSet
getNextRowCore
in class BasicNoPutResultSetImpl
StandardException
- thrown on failure to get next rowNoPutResultSet.getNextRowCore()
public void close() throws StandardException
close
in interface ResultSet
close
in class ScanResultSet
StandardException
- on errorpublic long getTimeSpent(int type)
getTimeSpent
in interface ResultSet
type
- CURRENT_RESULTSET_ONLY - time spent only in this ResultSet
ENTIRE_RESULTSET_TREE - time spent in this ResultSet and below.public RowLocation getRowLocation() throws StandardException
getRowLocation
in interface CursorResultSet
StandardException
- thrown on failure to get row locationCursorResultSet
public ExecRow getCurrentRow() throws StandardException
getCurrentRow
in interface CursorResultSet
StandardException
- thrown on failure.CursorResultSet
public void positionScanAtRowLocation(RowLocation rl) throws StandardException
NoPutResultSet
positionScanAtRowLocation
in interface NoPutResultSet
positionScanAtRowLocation
in class NoPutResultSetImpl
rl
- row location of the current cursor rowStandardException
- thrown on failure to
get location from storage engineAlso sets qualify to false so that later calls to getCurrentRow
will not attempt to re-qualify the current row.
public java.lang.String printStartPosition()
public java.lang.String printStopPosition()
private java.lang.String printPosition(int searchOperator, GeneratedMethod positionGetter, ExecIndexRow positioner)
public java.util.Properties getScanProperties()
public boolean requiresRelocking()
NoPutResultSet
requiresRelocking
in interface NoPutResultSet
requiresRelocking
in class BasicNoPutResultSetImpl
NoPutResultSet.requiresRelocking()
protected final void setRowCountIfPossible(long rowsThisScan) throws StandardException
rowsThisScan
- The number of rows to update the scanController toStandardException
- Thrown on errorprotected boolean canGetInstantaneousLocks()
canGetInstantaneousLocks
in class ScanResultSet
public boolean isForUpdate()
isForUpdate
in interface NoPutResultSet
isForUpdate
in class NoPutResultSetImpl
public java.lang.Object clone()
clone
in class java.lang.Object
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.