ResultSet
DeleteResultSet
, DMLVTIResultSet
, DMLWriteGeneratedColumnsResultSet
public abstract class DMLWriteResultSet extends NoRowsResultSetImpl
Modifier and Type | Field | Description |
---|---|---|
protected int[] |
baseRowReadMap |
|
protected DataValueDescriptor[] |
cachedDestinations |
This array contains data value descriptors that can be used (and reused)
to hold the normalized column values.
|
protected WriteCursorConstantAction |
constantAction |
|
protected DynamicCompiledOpenConglomInfo |
heapDCOCI |
|
protected DynamicCompiledOpenConglomInfo[] |
indexDCOCIs |
|
private boolean |
needToObjectifyStream |
|
protected ResultDescription |
resultDescription |
|
long |
rowCount |
|
protected int[] |
streamStorableHeapColIds |
activation, beginExecutionTime, beginTime, endExecutionTime, endTime, lcc
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST
Constructor | Description |
---|---|
DMLWriteResultSet(Activation activation) |
Constructor
|
DMLWriteResultSet(Activation activation,
ConstantAction constantAction) |
Modifier and Type | Method | Description |
---|---|---|
(package private) int |
decodeLockMode(int lockMode) |
Decode the update lock mode.
|
(package private) java.lang.String |
getIndexNameFromCID(long indexCID) |
get the index name given the conglomerate id of the index.
|
protected ExecRow |
getNextRowCore(NoPutResultSet source) |
Get next row from the source result set.
|
ResultDescription |
getResultDescription() |
Returns the description of the inserted rows.
|
protected ExecRow |
makeDeferredSparseRow(ExecRow deferredBaseRow,
FormatableBitSet baseRowReadList,
LanguageConnectionContext lcc) |
For deferred update, get a deferred sparse row based on the
deferred non-sparse row.
|
long |
modifiedRowCount() |
Returns zero.
|
protected ExecRow |
normalizeRow(NoPutResultSet sourceResultSet,
ExecRow row) |
Normalize a row as part of the INSERT/UPDATE action of a MERGE statement.
|
private void |
objectifyStreams(ExecRow row) |
|
void |
rememberConstraint(UUID cid) |
addWarning, checkRowPosition, clearCurrentRow, close, doesCommit, evaluateGenerationClauses, finish, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCurrentTimeMillis, getCursorName, getEndExecutionTimestamp, getExecuteTime, getFirstRow, getLastRow, getNextRow, getPreviousRow, getQueryPlanText, getRelativeRow, getRowNumber, getSubqueryTrackingArray, getTimeSpent, getWarnings, isClosed, returnsRows, setAfterLastRow, setBeforeFirstRow, setup, toXML
protected WriteCursorConstantAction constantAction
protected int[] baseRowReadMap
protected int[] streamStorableHeapColIds
protected DynamicCompiledOpenConglomInfo heapDCOCI
protected DynamicCompiledOpenConglomInfo[] indexDCOCIs
private boolean needToObjectifyStream
public long rowCount
protected ResultDescription resultDescription
protected DataValueDescriptor[] cachedDestinations
DMLWriteResultSet(Activation activation) throws StandardException
activation
- an activationStandardException
- on errorDMLWriteResultSet(Activation activation, ConstantAction constantAction) throws StandardException
StandardException
public final long modifiedRowCount()
NoRowsResultSetImpl
modifiedRowCount
in interface ResultSet
modifiedRowCount
in class NoRowsResultSetImpl
public ResultDescription getResultDescription()
getResultDescription
in interface ResultSet
getResultDescription
in class NoRowsResultSetImpl
protected ExecRow getNextRowCore(NoPutResultSet source) throws StandardException
source
- SourceResultSet
Also look at Track#2432/change 12433StandardException
- Standard error policyprivate void objectifyStreams(ExecRow row) throws StandardException
StandardException
protected ExecRow makeDeferredSparseRow(ExecRow deferredBaseRow, FormatableBitSet baseRowReadList, LanguageConnectionContext lcc) throws StandardException
deferredBaseRow
- the deferred non-sparse rowbaseRowReadList
- the columns to include (1-based bit map)lcc
- the language connection contextStandardException
- Thrown on errorint decodeLockMode(int lockMode)
The value for update lock mode is in the second most significant byte for TransactionControl.SERIALIZABLE_ISOLATION_LEVEL isolation level. Otherwise (REPEATABLE READ, READ COMMITTED, and READ UNCOMMITTED) the lock mode is located in the least significant byte.
This is done to override the optimizer choice to provide maximum concurrency of record level locking except in SERIALIZABLE where table level locking is required in heap scans for correctness.
lockMode
- the compiled encoded lock mode for this queryFromBaseTable.updateTargetLockMode()
java.lang.String getIndexNameFromCID(long indexCID)
indexCID
- conglomerate ID of the index.protected ExecRow normalizeRow(NoPutResultSet sourceResultSet, ExecRow row) throws StandardException
Normalize a row as part of the INSERT/UPDATE action of a MERGE statement. This applies logic usually found in a NormalizeResultSet, which is missing for the MERGE statement.
sourceResultSet
- the result set for which this action is
to be performedrow
- the row to be normalizedStandardException
- Standard error policypublic void rememberConstraint(UUID cid) throws StandardException
StandardException
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.