class MaterializedResultSet extends NoPutResultSetImpl implements CursorResultSet
| Modifier and Type | Field and Description |
|---|---|
long |
createTCTime |
long |
fetchTCTime |
private boolean |
fromSource |
protected ConglomerateController |
materializedCC |
protected long |
materializedCID |
boolean |
materializedCreated |
private ExecRow |
materializedRowBuffer |
protected ScanController |
materializedScan |
NoPutResultSet |
source |
private boolean |
sourceDrained |
private TransactionController |
tc |
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSetactivation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArrayCURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST| Constructor and Description |
|---|
MaterializedResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
Constructor for a MaterializedResultSet
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
If the result set has been opened,
close the open scan.
|
ExecRow |
getCurrentRow()
Gets information from last getNextRow call.
|
ExecRow |
getNextRowCore()
Return the requested values computed
from the next row (if any) for which
the restriction evaluates to true.
|
private ExecRow |
getNextRowFromSource() |
private ExecRow |
getNextRowFromTempTable() |
RowLocation |
getRowLocation()
Gets information from its source.
|
long |
getTimeSpent(int type)
Return the total amount of time spent in this ResultSet
|
void |
openCore()
open a scan on the source. scan parameters are evaluated
at each open, so there is probably some way of altering
their values...
|
void |
reopenCore()
reopen a scan on the table. scan parameters are evaluated
at each open, so there is probably some way of altering
their values...
|
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, isForUpdate, markRowAsDeleted, needsRowLocation, needsToClone, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, updateRowaddWarning, attachStatementContext, checkCancellationFlag, checkRowPosition, cleanUp, dumpTimeStats, finish, finishAndRTS, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCompactRow, getCurrentTimeMillis, getElapsedMillis, getEndExecutionTimestamp, getEstimatedRowCount, getExecuteTime, getExecutionFactory, getFirstRow, getLanguageConnectionContext, getLastRow, getNextRow, getPointOfAttachment, getPreviousRow, getRelativeRow, getRowNumber, getScanIsolationLevel, getSubqueryTrackingArray, getTransactionController, getWarnings, isClosed, isXplainOnlyMode, markAsTopResultSet, modifiedRowCount, open, recordConstructorTime, requiresRelocking, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRowclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddWarning, 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, setBeforeFirstRowpublic NoPutResultSet source
private ExecRow materializedRowBuffer
protected long materializedCID
public boolean materializedCreated
private boolean fromSource
protected ConglomerateController materializedCC
protected ScanController materializedScan
private TransactionController tc
private boolean sourceDrained
public long createTCTime
public long fetchTCTime
public MaterializedResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
source - The NoPutResultSet from which to get rows
to be materializedactivation - The activation for this executionresultSetNumber - The resultSetNumberStandardException - on errorpublic void openCore()
throws StandardException
openCore in interface NoPutResultSetStandardException - thrown on failurepublic void reopenCore()
throws StandardException
reopenCore in interface NoPutResultSetreopenCore in class BasicNoPutResultSetImplStandardException - thrown if cursor finished.NoPutResultSet.openCore()public ExecRow getNextRowCore() throws StandardException
NoPutResultSetrestriction and projection parameters are evaluated for each row.
getNextRowCore in interface NoPutResultSetgetNextRowCore in class BasicNoPutResultSetImplStandardException - thrown on failureNoPutResultSet.getNextRowCore()private ExecRow getNextRowFromSource() throws StandardException
StandardExceptionprivate ExecRow getNextRowFromTempTable() throws StandardException
StandardExceptionpublic void close()
throws StandardException
close in interface ResultSetclose in class NoPutResultSetImplStandardException - thrown on errorpublic long getTimeSpent(int type)
getTimeSpent in interface ResultSettype - 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 CursorResultSetStandardException - thrown on failureCursorResultSetpublic ExecRow getCurrentRow()
getCurrentRow in interface CursorResultSetCursorResultSetApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.