|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
org.apache.derby.impl.sql.execute.NoPutResultSetImpl
org.apache.derby.impl.sql.execute.IndexRowToBaseRowResultSet
class IndexRowToBaseRowResultSet
Takes a result set with a RowLocation as the last column, and uses the RowLocation to get and return a row from the given base conglomerate. Normally, the input result set will be a TableScanResultSet scanning an index conglomerate.
Field Summary | |
---|---|
private FormatableBitSet |
accessedAllCols
|
FormatableBitSet |
accessedHeapCols
|
private ConglomerateController |
baseCC
|
(package private) RowLocation |
baseRowLocation
|
private boolean |
closeBaseCCHere
|
(package private) boolean |
copiedFromSource
|
protected boolean |
currentRowPrescanned
|
private DynamicCompiledOpenConglomInfo |
dcoci
|
private boolean |
forUpdate
|
private int[] |
indexCols
|
java.lang.String |
indexName
|
private GeneratedMethod |
restriction
|
long |
restrictionTime
|
private ExecRow |
resultRow
|
private DataValueDescriptor[] |
rowArray
|
private StaticCompiledOpenConglomInfo |
scoci
|
NoPutResultSet |
source
|
private boolean |
sourceIsForUpdateIndexScan
|
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.ResultSet |
---|
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST |
Fields inherited from interface org.apache.derby.iapi.sql.execute.NoPutResultSet |
---|
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE |
Constructor Summary | |
---|---|
IndexRowToBaseRowResultSet(long conglomId,
int scociItem,
Activation a,
NoPutResultSet source,
GeneratedMethod resultRowAllocator,
int resultSetNumber,
java.lang.String indexName,
int heapColRefItem,
int allColRefItem,
int heapOnlyColRefItem,
int indexColMapItem,
GeneratedMethod restriction,
boolean forUpdate,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
|
Method Summary | |
---|---|
void |
close()
If the result set has been opened, close the open scan. |
ExecRow |
getCurrentRow()
Gets last row returned. |
ExecRow |
getNextRowCore()
Return the requested values computed from the next row (if any) for which the restriction evaluates to true. |
RowLocation |
getRowLocation()
Return the RowLocation of the base row. |
long |
getTimeSpent(int type)
Return the total amount of time spent in this ResultSet |
boolean |
isForUpdate()
Is this ResultSet or it's source result set for update. |
void |
openCore()
open this ResultSet. |
void |
positionScanAtRowLocation(RowLocation rl)
Positions the cursor in the specified rowLocation. |
void |
reopenCore()
reopen this ResultSet. |
Methods inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl |
---|
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, markRowAsDeleted, needsRowLocation, needsToClone, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, updateRow |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.derby.iapi.sql.ResultSet |
---|
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 |
Field Detail |
---|
public NoPutResultSet source
private GeneratedMethod restriction
public FormatableBitSet accessedHeapCols
private FormatableBitSet accessedAllCols
public java.lang.String indexName
private int[] indexCols
private DynamicCompiledOpenConglomInfo dcoci
private StaticCompiledOpenConglomInfo scoci
private ConglomerateController baseCC
private boolean closeBaseCCHere
private ExecRow resultRow
private boolean forUpdate
private DataValueDescriptor[] rowArray
RowLocation baseRowLocation
boolean copiedFromSource
public long restrictionTime
protected boolean currentRowPrescanned
private boolean sourceIsForUpdateIndexScan
Constructor Detail |
---|
IndexRowToBaseRowResultSet(long conglomId, int scociItem, Activation a, NoPutResultSet source, GeneratedMethod resultRowAllocator, int resultSetNumber, java.lang.String indexName, int heapColRefItem, int allColRefItem, int heapOnlyColRefItem, int indexColMapItem, GeneratedMethod restriction, boolean forUpdate, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
StandardException
Method Detail |
---|
public void openCore() throws StandardException
openCore
in interface NoPutResultSet
StandardException
- thrown if cursor finished.public void reopenCore() throws StandardException
reopenCore
in interface NoPutResultSet
reopenCore
in class BasicNoPutResultSetImpl
StandardException
- thrown if cursor finished.NoPutResultSet.openCore()
public ExecRow getNextRowCore() throws StandardException
restriction and projection parameters are evaluated for each row.
getNextRowCore
in interface NoPutResultSet
getNextRowCore
in class BasicNoPutResultSetImpl
StandardException
- thrown on failure.
StandardException
- ResultSetNotOpen thrown if not yet open.NoPutResultSet.getNextRowCore()
public void close() throws StandardException
close
in interface ResultSet
close
in class NoPutResultSetImpl
StandardException
- thrown 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.CursorResultSet
public void positionScanAtRowLocation(RowLocation rl) throws StandardException
NoPutResultSet
positionScanAtRowLocation
in interface NoPutResultSet
positionScanAtRowLocation
in class NoPutResultSetImpl
rl
- row location of the current cursor row
StandardException
- thrown on failure to
get location from storage engineAlso remembers row location so that subsequent invocations of
getCurrentRow will not read the index row to look up the row
location base row, but reuse the saved row location.
public ExecRow getCurrentRow() throws StandardException
getCurrentRow
in interface CursorResultSet
StandardException
- thrown on failure.CursorResultSet
public boolean isForUpdate()
isForUpdate
in interface NoPutResultSet
isForUpdate
in class NoPutResultSetImpl
|
Built on Thu 2011-03-10 11:54:14+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |