class VTIResultSet extends NoPutResultSetImpl implements CursorResultSet, VTIEnvironment
| Modifier and Type | Field and Description |
|---|---|
private ExecRow |
allocatedRow |
private FormatableHashtable |
compileTimeConstants |
private GeneratedMethod |
constructor |
private int |
ctcNumber |
private IFastPath |
fastPath |
private boolean |
isDerbyStyleTableFunction |
private boolean |
isTarget |
java.lang.String |
javaClassName |
private boolean |
pushedProjection |
private Qualifier[][] |
pushedQualifiers |
private FormatableBitSet |
referencedColumns |
private DataTypeDescriptor[] |
returnColumnTypes |
private TypeDescriptor |
returnType |
private boolean |
reuseablePs |
int |
rowsReturned |
private boolean[] |
runtimeNullableColumn |
private int |
scanIsolationLevel
Specified isolation level of SELECT (scan).
|
private java.sql.PreparedStatement |
userPS |
private java.sql.ResultSet |
userVTI |
private boolean |
version2 |
private java.lang.String[] |
vtiProjection |
private Restriction |
vtiRestriction |
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 |
|---|
VTIResultSet(Activation activation,
int row,
int resultSetNumber,
GeneratedMethod constructor,
java.lang.String javaClassName,
Qualifier[][] pushedQualifiers,
int erdNumber,
boolean version2,
boolean reuseablePs,
int ctcNumber,
boolean isTarget,
int scanIsolationLevel,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
boolean isDerbyStyleTableFunction,
int returnTypeNumber,
int vtiProjectionNumber,
int vtiRestrictionNumber) |
| Modifier and Type | Method and Description |
|---|---|
private void |
cast(DataTypeDescriptor dtd,
DataValueDescriptor dvd)
Cast the value coming out of the user-coded ResultSet.
|
private void |
castDecimal(DataTypeDescriptor dtd,
DataValueDescriptor dvd)
Set the correct precision and scale for a decimal value.
|
private void |
castLongvarbinary(DataTypeDescriptor dtd,
DataValueDescriptor dvd)
Truncate long varbinary values to the legal maximum.
|
private void |
castLongvarchar(DataTypeDescriptor dtd,
DataValueDescriptor dvd)
Truncate long varchars to the legal maximum.
|
private Restriction |
cloneRestriction(Activation activation)
Clone the restriction for a Restricted VTI, filling in parameter values
as necessary.
|
private Restriction |
cloneRestriction(Activation activation,
Restriction original) |
void |
close()
Close needs to invalidate any dependent statements, if this is a cursor.
|
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().
|
private ExecRow |
getAllocatedRow()
Cache the ExecRow for this result set.
|
ExecRow |
getCurrentRow()
This is not used in positioned update and delete,
so just return a null.
|
ExecRow |
getNextRowCore()
If open and not returned yet, returns the row
after plugging the parameters into the expressions.
|
java.lang.String |
getOriginalSQL()
Return the SQL text of the original SQL statement.
|
private int[] |
getProjectedColList() |
private DataTypeDescriptor[] |
getReturnColumnTypes()
Get the types of the columns returned by a Derby-style table function.
|
RowLocation |
getRowLocation()
This is not operating against a stored table,
so it has no row location to report.
|
int |
getScanIsolationLevel()
Return the isolation level of the scan in the result set.
|
java.lang.Object |
getSharedState(java.lang.String key)
Get an object associated with a key from set of objects maintained with the statement plan.
|
int |
getStatementIsolationLevel()
Get the specific JDBC isolation of the statement.
|
long |
getTimeSpent(int type)
Return the total amount of time spent in this ResultSet
|
(package private) GeneratedMethod |
getVTIConstructor()
Return the GeneratedMethod for instantiating the VTI.
|
boolean |
isCompileTime()
Return true if this instance of the Table Function has been created for compilation,
false if it is for runtime execution.
|
(package private) boolean |
isReuseablePs() |
void |
openCore()
Sets state to 'open'.
|
void |
populateFromResultSet(ExecRow row) |
void |
reopenCore()
If the VTI is a version2 vti that does not
need to be instantiated multiple times then
we simply close the current ResultSet and
create a new one via a call to
PreparedStatement.executeQuery().
|
private boolean[] |
setNullableColumnList() |
void |
setSharedState(java.lang.String key,
java.io.Serializable value)
Saves an object associated with a key that will be maintained
for the lifetime of the statement plan.
|
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, 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, requiresRelocking, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRowclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddWarning, checkRowPosition, cleanUp, clearCurrentRow, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCursorName, getEndExecutionTimestamp, getExecuteTime, getFirstRow, getLastRow, getNextRow, getPreviousRow, getRelativeRow, getResultDescription, getRowNumber, getSubqueryTrackingArray, getWarnings, isClosed, modifiedRowCount, open, returnsRows, setAfterLastRow, setBeforeFirstRowpublic int rowsReturned
public java.lang.String javaClassName
private GeneratedMethod constructor
private java.sql.PreparedStatement userPS
private java.sql.ResultSet userVTI
private final ExecRow allocatedRow
private FormatableBitSet referencedColumns
private boolean version2
private boolean reuseablePs
private boolean isTarget
private FormatableHashtable compileTimeConstants
private int ctcNumber
private boolean pushedProjection
private IFastPath fastPath
private Qualifier[][] pushedQualifiers
private boolean[] runtimeNullableColumn
private boolean isDerbyStyleTableFunction
private final TypeDescriptor returnType
private DataTypeDescriptor[] returnColumnTypes
private java.lang.String[] vtiProjection
private Restriction vtiRestriction
private int scanIsolationLevel
VTIResultSet(Activation activation, int row, int resultSetNumber, GeneratedMethod constructor, java.lang.String javaClassName, Qualifier[][] pushedQualifiers, int erdNumber, boolean version2, boolean reuseablePs, int ctcNumber, boolean isTarget, int scanIsolationLevel, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean isDerbyStyleTableFunction, int returnTypeNumber, int vtiProjectionNumber, int vtiRestrictionNumber) throws StandardException
StandardExceptionpublic void openCore()
throws StandardException
openCore in interface NoPutResultSetStandardException - thrown if activation closed.private Restriction cloneRestriction(Activation activation) throws StandardException
StandardExceptionprivate Restriction cloneRestriction(Activation activation, Restriction original) throws StandardException
StandardExceptionprivate boolean[] setNullableColumnList()
throws java.sql.SQLException,
StandardException
java.sql.SQLExceptionStandardExceptionpublic void reopenCore()
throws StandardException
reopenCore in interface NoPutResultSetreopenCore in class BasicNoPutResultSetImplStandardException - thrown if cursor finished.NoPutResultSet.openCore()public ExecRow getNextRowCore() throws StandardException
getNextRowCore in interface NoPutResultSetgetNextRowCore in class BasicNoPutResultSetImplStandardException - thrown on failure.NoPutResultSet.getNextRowCore()public void close()
throws StandardException
NoPutResultSetImplclose in interface ResultSetclose in class NoPutResultSetImplStandardException - thrown on errorResultSet.close()public void finish()
throws StandardException
ResultSetfinish in interface ResultSetfinish in class BasicNoPutResultSetImplStandardException - 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()
getRowLocation in interface CursorResultSetCursorResultSetpublic ExecRow getCurrentRow()
getCurrentRow in interface CursorResultSetCursorResultSetGeneratedMethod getVTIConstructor()
boolean isReuseablePs()
private ExecRow getAllocatedRow() throws StandardException
StandardException - thrown on failure.private int[] getProjectedColList()
public void populateFromResultSet(ExecRow row) throws StandardException
StandardException - thrown on failure to openpublic final int getScanIsolationLevel()
NoPutResultSetgetScanIsolationLevel in interface NoPutResultSetgetScanIsolationLevel in class BasicNoPutResultSetImplNoPutResultSet.getScanIsolationLevel()public final boolean isCompileTime()
VTIEnvironmentisCompileTime in interface VTIEnvironmentpublic final java.lang.String getOriginalSQL()
VTIEnvironmentgetOriginalSQL in interface VTIEnvironmentpublic final int getStatementIsolationLevel()
VTIEnvironmentgetStatementIsolationLevel in interface VTIEnvironmentpublic final void setSharedState(java.lang.String key,
java.io.Serializable value)
VTIEnvironmentsetSharedState in interface VTIEnvironmentpublic java.lang.Object getSharedState(java.lang.String key)
VTIEnvironmentgetSharedState in interface VTIEnvironmentprivate DataTypeDescriptor[] getReturnColumnTypes() throws StandardException
Get the types of the columns returned by a Derby-style table function.
StandardExceptionprivate void cast(DataTypeDescriptor dtd, DataValueDescriptor dvd) throws StandardException
Cast the value coming out of the user-coded ResultSet. The rules are described in CastNode.getDataValueConversion().
StandardExceptionprivate void castLongvarchar(DataTypeDescriptor dtd, DataValueDescriptor dvd) throws StandardException
Truncate long varchars to the legal maximum.
StandardExceptionprivate void castLongvarbinary(DataTypeDescriptor dtd, DataValueDescriptor dvd) throws StandardException
Truncate long varbinary values to the legal maximum.
StandardExceptionprivate void castDecimal(DataTypeDescriptor dtd, DataValueDescriptor dvd) throws StandardException
Set the correct precision and scale for a decimal value.
StandardExceptionApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.