class UpdateResultSet extends DMLWriteGeneratedColumnsResultSet
aiCache, autoGeneratedKeysColumnIndexes, autoGeneratedKeysResultSet, autoGeneratedKeysRowsHolder, autoincrementGenerated, identitySequenceUUIDString, identityVal, setIdentity, sourceResultSet
baseRowReadMap, cachedDestinations, constantAction, heapDCOCI, indexDCOCIs, resultDescription, rowCount, streamStorableHeapColIds
activation, beginExecutionTime, beginTime, endExecutionTime, endTime, lcc
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST
Constructor and Description |
---|
UpdateResultSet(NoPutResultSet source,
GeneratedMethod generationClauses,
GeneratedMethod checkGM,
Activation activation) |
UpdateResultSet(NoPutResultSet source,
GeneratedMethod generationClauses,
GeneratedMethod checkGM,
Activation activation,
ConstantAction passedInConstantAction,
ResultDescription passedInRsd) |
UpdateResultSet(NoPutResultSet source,
GeneratedMethod generationClauses,
GeneratedMethod checkGM,
Activation activation,
int constantActionItem,
int rsdItem) |
Modifier and Type | Method and Description |
---|---|
private FormatableBitSet |
checkStreamCols() |
void |
cleanUp()
Tells the system to clean up on an error.
|
void |
close()
Tells the system that there will be no more calls to getNextRow()
(until the next open() call), so it can free up the resources
associated with the ResultSet.
|
boolean |
collectAffectedRows() |
private boolean |
evaluateCheckConstraints()
Run check constraints against the current row.
|
(package private) void |
fireAfterTriggers() |
(package private) void |
fireBeforeTriggers() |
static boolean |
foundRow(ExecRow checkRow,
int[] colsToCheck,
TemporaryRowHolderImpl rowHolder) |
protected ExecRow |
getNextRowCore(NoPutResultSet source)
Get next row from the source result set.
|
NumberDataValue |
getSetAutoincrementValue(int columnPosition,
long increment)
getSetAutoincrementValue will get the autoincrement value of the
columnPosition specified for the target table.
|
protected void |
initializeAIcache(RowLocation[] rla) |
private void |
notifyForUpdateCursor(DataValueDescriptor[] row,
DataValueDescriptor[] newBaseRow,
RowLocation rl,
TableScanResultSet tableScan) |
private void |
objectifyStream(ExecRow tempRow,
FormatableBitSet streamCols) |
void |
open()
Needs to be called before the result set will do anything.
|
private ExecRow |
processMergeRow(NoPutResultSet sourceRS,
ExecRow row)
Special handling if this is an UPDATE action of a MERGE statement.
|
void |
rememberConstraint(UUID cid) |
(package private) void |
rowChangerFinish() |
(package private) void |
runChecker(boolean restrictCheckOnly) |
(package private) void |
setup()
Set up the result set for use.
|
(package private) void |
updateDeferredRows() |
firstExecuteSpecialHandlingAutoGen, getAutoGeneratedKeysResultset, getCompactRow, saveAIcacheInformation, verifyAutoGeneratedRScolumnsList
decodeLockMode, getIndexNameFromCID, getResultDescription, makeDeferredSparseRow, modifiedRowCount, normalizeRow
addWarning, checkRowPosition, clearCurrentRow, close, doesCommit, evaluateGenerationClauses, finish, getAbsoluteRow, getActivation, getBeginExecutionTimestamp, getCurrentTimeMillis, getCursorName, getEndExecutionTimestamp, getExecuteTime, getFirstRow, getLastRow, getNextRow, getPreviousRow, getQueryPlanText, getRelativeRow, getRowNumber, getSubqueryTrackingArray, getTimeSpent, getWarnings, isClosed, returnsRows, setAfterLastRow, setBeforeFirstRow, toXML
private TransactionController tc
private ExecRow newBaseRow
private ExecRow row
private ExecRow deferredSparseRow
UpdateConstantAction constants
NoPutResultSet savedSource
private RowChanger rowChanger
protected ConglomerateController deferredBaseCC
protected long[] deferredUniqueCIDs
protected boolean[] deferredUniqueCreated
protected ConglomerateController[] deferredUniqueCC
protected ScanController[] deferredUniqueScans
private TemporaryRowHolderImpl deletedRowHolder
private TemporaryRowHolderImpl insertedRowHolder
private RISetChecker riChecker
private TriggerInfo triggerInfo
private TriggerEventActivator triggerActivator
private boolean updatingReferencedKey
private boolean updatingForeignKey
private int numOpens
private long heapConglom
private FKInfo[] fkInfoArray
private FormatableBitSet baseRowReadList
private GeneratedMethod generationClauses
private GeneratedMethod checkGM
private int resultWidth
private int numberOfBaseColumns
private ExecRow deferredTempRow
private ExecRow deferredBaseRow
private ExecRow oldDeletedRow
private ResultDescription triggerResultDescription
int lockMode
boolean deferred
boolean beforeUpdateCopyRequired
private java.util.List<UUID> violatingCheckConstraints
private BackingStoreHashtable deferredChecks
UpdateResultSet(NoPutResultSet source, GeneratedMethod generationClauses, GeneratedMethod checkGM, Activation activation) throws StandardException
source
- update rows come from sourcegenerationClauses
- Generated method for computed generation clausescheckGM
- Generated method for enforcing check constraintsactivation
- The activationStandardException
- thrown on errorUpdateResultSet(NoPutResultSet source, GeneratedMethod generationClauses, GeneratedMethod checkGM, Activation activation, int constantActionItem, int rsdItem) throws StandardException
source
- update rows come from sourcegenerationClauses
- Generated method for computed generation clausescheckGM
- Generated method for enforcing check constraintsactivation
- ActivationconstantActionItem
- id of the update constant action saved objectrsdItem
- id of the Result Description saved objectStandardException
- thrown on errorUpdateResultSet(NoPutResultSet source, GeneratedMethod generationClauses, GeneratedMethod checkGM, Activation activation, ConstantAction passedInConstantAction, ResultDescription passedInRsd) throws StandardException
source
- update rows come from sourcegenerationClauses
- Generated method for computed generation clausescheckGM
- Generated method for enforcing check constraintsactivation
- passedInConstantAction
- passedInRsd
- StandardException
- thrown on errorpublic void open() throws StandardException
ResultSet
StandardException
- Standard Derby error policyvoid setup() throws StandardException
NoRowsResultSetImpl
open()
.setup
in class NoRowsResultSetImpl
StandardException
- Standard Derby error policyprivate FormatableBitSet checkStreamCols()
private void objectifyStream(ExecRow tempRow, FormatableBitSet streamCols) throws StandardException
StandardException
private boolean evaluateCheckConstraints() throws StandardException
StandardException
- thrown on errorpublic boolean collectAffectedRows() throws StandardException
StandardException
protected ExecRow getNextRowCore(NoPutResultSet source) throws StandardException
DMLWriteResultSet
getNextRowCore
in class DMLWriteResultSet
source
- SourceResultSet
Also look at Track#2432/change 12433StandardException
- Standard error policyprivate ExecRow processMergeRow(NoPutResultSet sourceRS, ExecRow row) throws StandardException
Special handling if this is an UPDATE action of a MERGE statement.
StandardException
private void notifyForUpdateCursor(DataValueDescriptor[] row, DataValueDescriptor[] newBaseRow, RowLocation rl, TableScanResultSet tableScan) throws StandardException
StandardException
void fireBeforeTriggers() throws StandardException
StandardException
void fireAfterTriggers() throws StandardException
StandardException
void updateDeferredRows() throws StandardException
StandardException
void runChecker(boolean restrictCheckOnly) throws StandardException
StandardException
public static boolean foundRow(ExecRow checkRow, int[] colsToCheck, TemporaryRowHolderImpl rowHolder) throws StandardException
StandardException
public void cleanUp() throws StandardException
ResultSet
StandardException
- Thrown on errorResultSet.cleanUp()
public void close() throws StandardException
ResultSet
StandardException
- Thrown on error.void rowChangerFinish() throws StandardException
StandardException
public void rememberConstraint(UUID cid) throws StandardException
rememberConstraint
in class DMLWriteResultSet
StandardException
public NumberDataValue getSetAutoincrementValue(int columnPosition, long increment) throws StandardException
getSetAutoincrementValue
in class DMLWriteGeneratedColumnsResultSet
columnPosition
- position of the column in the table (1-based)increment
- amount of increment.StandardException
- if anything goes wrong.protected void initializeAIcache(RowLocation[] rla) throws StandardException
StandardException
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.