|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
org.apache.derby.impl.sql.execute.NoPutResultSetImpl
org.apache.derby.impl.sql.execute.NormalizeResultSet
class NormalizeResultSet
Cast the rows from the source result set to match the format of the result set for the entire statement.
| Field Summary | |
|---|---|
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
|
| Fields inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl |
|---|
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet |
| Fields inherited from class org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl |
|---|
activation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray |
| Fields inherited from interface org.apache.derby.iapi.sql.ResultSet |
|---|
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST |
| Fields inherited from interface org.apache.derby.iapi.sql.execute.NoPutResultSet |
|---|
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE |
| Constructor Summary | |
|---|---|
NormalizeResultSet(NoPutResultSet source,
Activation activation,
int resultSetNumber,
int erdNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
boolean forUpdate)
Constructor for a NormalizeResultSet |
|
| Method Summary | |
|---|---|
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. |
| Methods inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl |
|---|
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, isForUpdate, needsRowLocation, needsToClone, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.apache.derby.iapi.sql.ResultSet |
|---|
addWarning, 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, setBeforeFirstRow |
| Field Detail |
|---|
public NoPutResultSet source
private ExecRow normalizedRow
private int numCols
private int startCol
private final DataValueDescriptor[] cachedDestinations
private ResultDescription resultDescription
private DataTypeDescriptor[] desiredTypes
| Constructor Detail |
|---|
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 ResultDescription
StandardException - on error| Method Detail |
|---|
public void openCore()
throws StandardException
openCore in interface NoPutResultSetStandardException - thrown on failure
public 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 CursorResultSetCursorResultSet
public 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 necessary
StandardException - thrown on failure
private ExecRow normalizeRow(ExecRow sourceRow)
throws StandardException
sourceRow - The row to normalize
StandardException - thrown on failure
private 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
NoPutResultSet
updateRow 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
NoPutResultSet
markRowAsDeleted in interface NoPutResultSetmarkRowAsDeleted in class NoPutResultSetImplStandardException - thrown on failure.NoPutResultSet.markRowAsDeleted()
|
Built on Wed 2013-06-12 15:21:56+0000, from revision ??? | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||