class DependentResultSet extends ScanResultSet implements CursorResultSet
BasicNoPutResultSetImpl.FieldComparator
accessedCols, candidate, fetchRowLocations, indexName, isolationLevel, lockMode, resultRowBuilder, tableName
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet
activation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE, TEMPORARY_RESULT_SET_NUMBER
Constructor and Description |
---|
DependentResultSet(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 lockMode,
boolean tableLocked,
int isolationLevel,
int rowsPerRead,
boolean oneRowScan,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
java.lang.String parentResultSetId,
long fkIndexConglomId,
int fkColArrayItem,
int rltItem) |
Modifier and Type | Method and Description |
---|---|
private void |
addNewSources() |
(package private) boolean |
canGetInstantaneousLocks()
Can we get instantaneous locks when getting share row
locks at READ COMMITTED.
|
void |
close()
Close the all the opens we did in this result set.
|
private ExecRow |
fetchBaseRow()
Fetch the base row corresponding to the current index row
|
private ExecRow |
fetchIndexRow()
Fetch a row from the index scan.
|
void |
finish()
Tells the system that there will be no more access
to any database information via this result set;
in particular, no more calls to open().
|
ExecRow |
getCurrentRow()
Returns the current row of the result set.
|
private ExecRow |
getNextParentRow() |
ExecRow |
getNextRowCore()
Return the requested values computed
from the next row (if any) for which
the restriction evaluates to true.
|
RowLocation |
getRowLocation()
Returns the row location of the current base table row of the cursor.
|
java.util.Properties |
getScanProperties() |
long |
getTimeSpent(int type)
Return the total amount of time spent in this ResultSet
|
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...
|
ConglomerateController |
openHeapConglomerateController() |
private void |
openIndexScan(ExecRow searchRow) |
private ScanController |
openIndexScanController(ExecRow searchRow)
Get a scan controller positioned using searchRow as
the start/stop position.
|
private java.lang.String |
printPosition(int searchOperator,
ExecIndexRow positioner)
Return a start or stop positioner as a String.
|
java.lang.String |
printQualifiers()
Return an array of Qualifiers as a String
|
java.lang.String |
printStartPosition() |
java.lang.String |
printStopPosition() |
private void |
reopenIndexScanController(ExecRow searchRow) |
private void |
setupQualifierRow(ExecRow searchRow) |
getScanIsolationLevel, initIsolationLevel, setRowLocationsState, toXML
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
addWarning, attachStatementContext, checkCancellationFlag, checkRowPosition, childrenToXML, cleanUp, dumpTimeStats, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addWarning, checkRowPosition, cleanUp, clearCurrentRow, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCursorName, getEndExecutionTimestamp, getExecuteTime, getFirstRow, getLastRow, getNextRow, getPreviousRow, getRelativeRow, getResultDescription, getRowNumber, getSubqueryTrackingArray, getWarnings, isClosed, modifiedRowCount, open, returnsRows, setAfterLastRow, setBeforeFirstRow, toXML
ConglomerateController heapCC
RowLocation baseRowLocation
ExecRow indexRow
IndexRow indexQualifierRow
ScanController indexSC
StaticCompiledOpenConglomInfo indexScoci
DynamicCompiledOpenConglomInfo indexDcoci
int numFkColumns
boolean isOpen
TemporaryRowHolderResultSet source
TransactionController tc
java.lang.String parentResultSetId
int[] fkColArray
RowLocation rowLocation
TemporaryRowHolder[] sourceRowHolders
TemporaryRowHolderResultSet[] sourceResultSets
int[] sourceOpened
int sArrayIndex
java.util.Vector<TemporaryRowHolder> sVector
protected ScanController scanController
protected boolean scanControllerOpened
protected boolean isKeyed
protected boolean firstScan
protected ExecIndexRow startPosition
protected ExecIndexRow stopPosition
protected long conglomId
protected DynamicCompiledOpenConglomInfo heapDcoci
protected StaticCompiledOpenConglomInfo heapScoci
protected int startSearchOperator
protected int stopSearchOperator
protected Qualifier[][] qualifiers
public java.lang.String userSuppliedOptimizerOverrides
protected boolean runTimeStatisticsOn
public int rowsPerRead
public boolean forUpdate
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
ExecRow searchRow
DependentResultSet(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 lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost, java.lang.String parentResultSetId, long fkIndexConglomId, int fkColArrayItem, int rltItem) throws StandardException
StandardException
private ScanController openIndexScanController(ExecRow searchRow) throws StandardException
searchRow
- the row to matchStandardException
- on errorprivate void reopenIndexScanController(ExecRow searchRow) throws StandardException
StandardException
private void setupQualifierRow(ExecRow searchRow)
private void openIndexScan(ExecRow searchRow) throws StandardException
StandardException
private ExecRow fetchIndexRow() throws StandardException
StandardException
- Ooopsprivate ExecRow fetchBaseRow() throws StandardException
StandardException
- Ooopspublic ExecRow getNextRowCore() throws StandardException
NoPutResultSet
restriction and projection parameters are evaluated for each row.
getNextRowCore
in interface NoPutResultSet
getNextRowCore
in class BasicNoPutResultSetImpl
StandardException
- thrown if cursor finished.NoPutResultSet.getNextRowCore()
private ExecRow getNextParentRow() throws StandardException
StandardException
public ConglomerateController openHeapConglomerateController() throws StandardException
StandardException
public void close() throws StandardException
close
in interface ResultSet
close
in class ScanResultSet
StandardException
- if an error occurspublic void finish() throws StandardException
ResultSet
finish
in interface ResultSet
finish
in class BasicNoPutResultSetImpl
StandardException
- on errorpublic void openCore() throws StandardException
NoPutResultSet
openCore() can only be called on a closed result set. see reopenCore if you want to reuse an open result set.
For NoPutResultSet open() must only be called on the top ResultSet. Opening of NoPutResultSet's below the top result set are implemented by calling openCore.
openCore
in interface NoPutResultSet
StandardException
- thrown if cursor finished.private void addNewSources()
boolean canGetInstantaneousLocks()
canGetInstantaneousLocks
in class ScanResultSet
public long getTimeSpent(int type)
ResultSet
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
CursorResultSet
getRowLocation
in interface CursorResultSet
StandardException
- thrown on failure to
get location from storage enginepublic ExecRow getCurrentRow() throws StandardException
CursorResultSet
getCurrentRow
in interface CursorResultSet
StandardException
- thrown on failure.public java.util.Properties getScanProperties()
public java.lang.String printStartPosition()
public java.lang.String printStopPosition()
private java.lang.String printPosition(int searchOperator, ExecIndexRow positioner)
public java.lang.String printQualifiers()
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.