class VTIResultSet extends NoPutResultSetImpl implements CursorResultSet, VTIEnvironment
BasicNoPutResultSetImpl.FieldComparator
Modifier and Type | Field and Description |
---|---|
private ExecRow |
allocatedRow |
private FormatableHashtable |
compileTimeConstants |
private GeneratedMethod |
constructor |
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 |
vtiName |
private java.lang.String[] |
vtiProjection |
private Restriction |
vtiRestriction |
private java.lang.String |
vtiSchema |
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 |
---|
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,
java.lang.String vtiSchema,
java.lang.String vtiName) |
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.
|
org.w3c.dom.Element |
toXML(org.w3c.dom.Element parentNode,
java.lang.String tag)
Produce an xml image of this ResultSet and its descendant ResultSets.
|
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, 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
public 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 final FormatableHashtable compileTimeConstants
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 java.lang.String vtiSchema
private java.lang.String vtiName
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, java.lang.String vtiSchema, java.lang.String vtiName) throws StandardException
StandardException
public void openCore() throws StandardException
openCore
in interface NoPutResultSet
StandardException
- thrown if activation closed.private Restriction cloneRestriction(Activation activation) throws StandardException
StandardException
private Restriction cloneRestriction(Activation activation, Restriction original) throws StandardException
StandardException
private boolean[] setNullableColumnList() throws java.sql.SQLException, StandardException
java.sql.SQLException
StandardException
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
getNextRowCore
in interface NoPutResultSet
getNextRowCore
in class BasicNoPutResultSetImpl
StandardException
- thrown on failure.NoPutResultSet.getNextRowCore()
public void close() throws StandardException
NoPutResultSetImpl
close
in interface ResultSet
close
in class NoPutResultSetImpl
StandardException
- thrown on errorResultSet.close()
public void finish() throws StandardException
ResultSet
finish
in interface ResultSet
finish
in class BasicNoPutResultSetImpl
StandardException
- 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()
getRowLocation
in interface CursorResultSet
CursorResultSet
public ExecRow getCurrentRow()
getCurrentRow
in interface CursorResultSet
CursorResultSet
GeneratedMethod 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()
NoPutResultSet
getScanIsolationLevel
in interface NoPutResultSet
getScanIsolationLevel
in class BasicNoPutResultSetImpl
NoPutResultSet.getScanIsolationLevel()
public final boolean isCompileTime()
VTIEnvironment
isCompileTime
in interface VTIEnvironment
public final java.lang.String getOriginalSQL()
VTIEnvironment
getOriginalSQL
in interface VTIEnvironment
public final int getStatementIsolationLevel()
VTIEnvironment
getStatementIsolationLevel
in interface VTIEnvironment
public final void setSharedState(java.lang.String key, java.io.Serializable value)
VTIEnvironment
setSharedState
in interface VTIEnvironment
public java.lang.Object getSharedState(java.lang.String key)
VTIEnvironment
getSharedState
in interface VTIEnvironment
private DataTypeDescriptor[] getReturnColumnTypes() throws StandardException
Get the types of the columns returned by a Derby-style table function.
StandardException
private 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().
StandardException
private void castLongvarchar(DataTypeDescriptor dtd, DataValueDescriptor dvd) throws StandardException
Truncate long varchars to the legal maximum.
StandardException
private void castLongvarbinary(DataTypeDescriptor dtd, DataValueDescriptor dvd) throws StandardException
Truncate long varbinary values to the legal maximum.
StandardException
private void castDecimal(DataTypeDescriptor dtd, DataValueDescriptor dvd) throws StandardException
Set the correct precision and scale for a decimal value.
StandardException
public org.w3c.dom.Element toXML(org.w3c.dom.Element parentNode, java.lang.String tag) throws java.lang.Exception
ResultSet
Produce an xml image of this ResultSet and its descendant ResultSets. Appends an element to the parentNode and returns the appended element.
toXML
in interface ResultSet
toXML
in class BasicNoPutResultSetImpl
parentNode
- Node to put content into.tag
- Element tag for contentjava.lang.Exception
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.