class ProjectRestrictResultSet extends NoPutResultSetImpl implements CursorResultSet
BasicNoPutResultSetImpl.FieldComparator
Modifier and Type | Field and Description |
---|---|
private boolean[] |
cloneMap
Holds columns present more than once in the result set and which may be
represented by a stream, since such columns need to be cloned.
|
GeneratedMethod |
constantRestriction |
boolean |
doesProjection |
private ExecRow |
mappedResultRow |
private GeneratedMethod |
projection |
long |
projectionTime |
private int[] |
projectMapping |
private ExecRow |
projRow |
GeneratedMethod |
restriction |
long |
restrictionTime |
boolean |
reuseResult |
(package private) java.util.Enumeration<java.lang.Object> |
rowLocations |
private boolean |
runTimeStatsOn |
private boolean |
shortCircuitOpen |
(package private) NoPutResultSet |
source |
private UUID |
validatingBaseTableUUID |
private boolean |
validatingCheckConstraint |
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet
activation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, 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 |
---|
ProjectRestrictResultSet(NoPutResultSet s,
Activation a,
GeneratedMethod r,
GeneratedMethod p,
int resultSetNumber,
GeneratedMethod cr,
int mapRefItem,
int cloneMapItem,
boolean reuseResult,
boolean doesProjection,
boolean validatingCheckConstraint,
UUID validatingBaseTableUUID,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost) |
Modifier and Type | Method and Description |
---|---|
void |
close()
If the result set has been opened,
close the open scan.
|
ExecRow |
doBaseRowProjection(ExecRow sourceRow)
Do the projection against the sourceRow.
|
private ExecRow |
doProjection(ExecRow sourceRow)
Do the projection against the source row.
|
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().
|
int[] |
getBaseProjectMapping()
Get projection mapping array.
|
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()
Gets information from its source.
|
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 |
markRowAsDeleted()
Marks the resultSet's currentRow as deleted after a delete has been
issued by either by using positioned delete or JDBC's deleteRow
method.
|
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...
|
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...
|
void |
updateRow(ExecRow row,
RowChanger rowChanger)
Updates the resultSet's current row with it's new values after
an update has been issued either using positioned update or
JDBC's udpateRow method.
|
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, needsRowLocation, needsRowLocationForDeferredCheckConstraints, needsToClone, offendingRowLocation, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setHasDeferrableChecks, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, unpackHashValue
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, getScanIsolationLevel, getSubqueryTrackingArray, getTransactionController, getWarnings, isClosed, isXplainOnlyMode, markAsTopResultSet, modifiedRowCount, open, recordConstructorTime, requiresRelocking, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRow, toXML, 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
public long restrictionTime
public long projectionTime
final NoPutResultSet source
public GeneratedMethod constantRestriction
public GeneratedMethod restriction
public boolean doesProjection
private GeneratedMethod projection
private int[] projectMapping
private boolean[] cloneMap
private boolean runTimeStatsOn
private ExecRow mappedResultRow
public boolean reuseResult
private boolean shortCircuitOpen
private ExecRow projRow
private final boolean validatingCheckConstraint
private final UUID validatingBaseTableUUID
java.util.Enumeration<java.lang.Object> rowLocations
ProjectRestrictResultSet(NoPutResultSet s, Activation a, GeneratedMethod r, GeneratedMethod p, int resultSetNumber, GeneratedMethod cr, int mapRefItem, int cloneMapItem, boolean reuseResult, boolean doesProjection, boolean validatingCheckConstraint, UUID validatingBaseTableUUID, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
StandardException
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 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 void close() throws StandardException
close
in interface ResultSet
close
in class NoPutResultSetImpl
StandardException
- thrown on errorpublic void finish() throws StandardException
ResultSet
finish
in interface ResultSet
finish
in class BasicNoPutResultSetImpl
StandardException
- on errorpublic RowLocation getRowLocation() throws StandardException
getRowLocation
in interface CursorResultSet
StandardException
- thrown on failure.CursorResultSet
public ExecRow getCurrentRow() throws StandardException
getCurrentRow
in interface CursorResultSet
StandardException
- thrown on failure.CursorResultSet
private ExecRow doProjection(ExecRow sourceRow) throws StandardException
sourceRow
- The source row.StandardException
- thrown on failure.public ExecRow doBaseRowProjection(ExecRow sourceRow) throws StandardException
sourceRow
- row to be projectedStandardException
- thrown on failure.public int[] getBaseProjectMapping()
public boolean isForUpdate()
isForUpdate
in interface NoPutResultSet
isForUpdate
in class NoPutResultSetImpl
public void updateRow(ExecRow row, RowChanger rowChanger) throws StandardException
NoPutResultSet
updateRow
in interface NoPutResultSet
updateRow
in class NoPutResultSetImpl
row
- new values for the currentRowrowChanger
- holds information about row: what columns of it is to
be used for updating, and what underlying base table column each
such column corresponds to.StandardException
- thrown on failure.NoPutResultSet.updateRow(org.apache.derby.iapi.sql.execute.ExecRow, org.apache.derby.iapi.sql.execute.RowChanger)
public void markRowAsDeleted() throws StandardException
NoPutResultSet
markRowAsDeleted
in interface NoPutResultSet
markRowAsDeleted
in class NoPutResultSetImpl
StandardException
- thrown on failure.NoPutResultSet.markRowAsDeleted()
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.