class NormalizeResultSet extends NoPutResultSetImpl implements CursorResultSet
| Modifier and Type | Field and Description |
|---|---|
private DataValueDescriptor[] |
cachedDestinations
This array contains data value descriptors that can be used (and reused)
by normalizeRow() to hold the normalized column values.
|
private DataTypeDescriptor[] |
desiredTypes |
private ExecRow |
normalizedRow |
private int |
numCols |
private ResultDescription |
resultDescription |
NoPutResultSet |
source |
private int |
startCol |
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSetactivation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArrayCURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST| Constructor and Description |
|---|
NormalizeResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
int erdNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
boolean forUpdate)
Constructor for a NormalizeResultSet
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
If the result set has been opened,
close the open scan.
|
static int |
computeStartColumn(boolean isUpdate,
ResultDescription desc)
Compute the start column for an update/insert.
|
private DataTypeDescriptor[] |
fetchResultTypes(ResultDescription desc)
Fetch the result datatypes out of the activation.
|
private DataValueDescriptor |
getCachedDestination(int col)
Get a cached data value descriptor that can receive the normalized
value of the specified column.
|
ExecRow |
getCurrentRow()
Gets information from last getNextRow call.
|
private DataTypeDescriptor |
getDesiredType(int col)
Get a data type descriptor that describes the desired type for the
specified column.
|
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
|
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.
|
static DataValueDescriptor |
normalizeColumn(DataTypeDescriptor dtd,
ExecRow sourceRow,
int sourceColumnPosition,
DataValueDescriptor resultCol,
ResultDescription desc)
Normalize a column.
|
private ExecRow |
normalizeRow(ExecRow sourceRow)
Normalize a row.
|
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...
|
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, isForUpdate, needsRowLocation, needsToClone, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setNeedsRowLocation, setTargetResultSet, skipRow, skipScanaddWarning, 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 normalizedRow
private int numCols
private int startCol
private final DataValueDescriptor[] cachedDestinations
private ResultDescription resultDescription
private DataTypeDescriptor[] desiredTypes
public NormalizeResultSet(NoPutResultSet source, Activation activation, int resultSetNumber, int erdNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost, boolean forUpdate) throws StandardException
source - The NoPutResultSet from which to get rows
to be normalizedactivation - The activation for this executionresultSetNumber - The resultSetNumbererdNumber - The integer for the ResultDescriptionStandardException - 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()public 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 CursorResultSetCursorResultSetpublic static int computeStartColumn(boolean isUpdate,
ResultDescription desc)
Compute the start column for an update/insert.
isUpdate - True if we are executing an UPDATE statementdesc - Metadata describing a result row
public static DataValueDescriptor normalizeColumn(DataTypeDescriptor dtd, ExecRow sourceRow, int sourceColumnPosition, DataValueDescriptor resultCol, ResultDescription desc) throws StandardException
dtd - Data type to coerce tosourceRow - row holding the source columnsourceColumnPosition - position of column in rowresultCol - where to stuff the coerced valuedesc - Additional metadata for error reporting if necessaryStandardException - thrown on failureprivate ExecRow normalizeRow(ExecRow sourceRow) throws StandardException
sourceRow - The row to normalizeStandardException - thrown on failureprivate DataValueDescriptor getCachedDestination(int col) throws StandardException
col - the column number (1-based)StandardException - if a new data value descriptor cannot be
createdprivate DataTypeDescriptor getDesiredType(int col)
col - the column number (1-based)private DataTypeDescriptor[] fetchResultTypes(ResultDescription desc)
Fetch the result datatypes out of the activation.
public void updateRow(ExecRow row, RowChanger rowChanger) throws StandardException
NoPutResultSetupdateRow in interface NoPutResultSetupdateRow in class NoPutResultSetImplrow - 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
NoPutResultSetmarkRowAsDeleted in interface NoPutResultSetmarkRowAsDeleted in class NoPutResultSetImplStandardException - thrown on failure.NoPutResultSet.markRowAsDeleted()Apache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.