| Modifier and Type | Field and Description |
|---|---|
| private MergeConstantAction | |
| private NoPutResultSet | |
| private int | |
| private ExecRow | |
| private long | |
| private BackingStoreHashtable | |
| private TemporaryRowHolderImpl[] |
| Access | Constructor and Description |
|---|---|
| pack-priv | MergeResultSet(NoPutResultSet drivingLeftJoin, Activation activation)
Construct from a driving left join and an Activation. |
| Modifier and Type | Method and Description |
|---|---|
| private void | addSubjectRow(SQLRef
The location of the subject row. subjectRowID)Add another subject row id to the evolving hashtable of affected target rows. |
| public void | cleanUp()
Implements org. Tells the system to clean up on an error. |
| public void | close()
Implements org. Clean up resources and call close on data members. |
| pack-priv boolean | |
| private void | |
| public void | finish()
Overrides org. Implements org. 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(). |
| public final long | modifiedRowCount()
Overrides org. Implements org. Returns zero. |
| public void | open()
Implements org. Needs to be called before the result set will do anything. |
| pack-priv void | setup()
Overrides org. Set up the result set for use. |
| _constants | back to summary |
|---|---|
| private MergeConstantAction _constants | |
| _drivingLeftJoin | back to summary |
|---|---|
| private NoPutResultSet _drivingLeftJoin | |
| _numOpens | back to summary |
|---|---|
| private int _numOpens | |
| _row | back to summary |
|---|---|
| private ExecRow _row | |
| _rowCount | back to summary |
|---|---|
| private long _rowCount | |
| _subjectRowIDs | back to summary |
|---|---|
| private BackingStoreHashtable _subjectRowIDs | |
| _thenRows | back to summary |
|---|---|
| private TemporaryRowHolderImpl[] _thenRows | |
| MergeResultSet | back to summary |
|---|---|
| pack-priv MergeResultSet(NoPutResultSet drivingLeftJoin, Activation activation) throws StandardException Construct from a driving left join and an Activation. | |
| addSubjectRow | back to summary |
|---|---|
| private void addSubjectRow(SQLRef subjectRowID) throws StandardException Add another subject row id to the evolving hashtable of affected target rows. The concept of a subject row is defined by the 2011 SQL Standard, part 2, section 14.12 (merge statement), general rule 6. A row in the target table is a subject row if it joins to the source table on the main search condition and if the joined row satisfies the matching refinement condition for some WHEN MATCHED clause. A row in the target table may only be a subject row once. That is, a given target row may only qualify for UPDATE or DELETE processing once. If it qualifies for more than one UPDATE or DELETE action, then the Standard requires us to raise a cardinality violation.
| |
| cleanUp | back to summary |
|---|---|
| public void cleanUp() throws StandardException Implements org. Doc from org. Tells the system to clean up on an error.
| |
| close | back to summary |
|---|---|
| public void close() throws StandardException Implements org. Clean up resources and call close on data members.
| |
| collectAffectedRows | back to summary |
|---|---|
| pack-priv boolean collectAffectedRows() throws StandardException Loop through the rows in the driving left join. | |
| createSubjectRowIDhashtable | back to summary |
|---|---|
| private void createSubjectRowIDhashtable() throws StandardException Create a BackingStoreHashtable to hold the ids of subject rows. | |
| finish | back to summary |
|---|---|
| public void finish() throws StandardException Overrides org. Implements org. Doc from org. 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(). Will close the result set if it is not already closed.
| |
| modifiedRowCount | back to summary |
|---|---|
| public final long modifiedRowCount() Overrides org. Implements org. Doc from org. Returns zero.
| |
| open | back to summary |
|---|---|
| public void open() throws StandardException Implements org. Doc from org. Needs to be called before the result set will do anything. Need to call before getNextRow(), or for a result set that doesn't return rows, this is the call that will cause all the work to be done.
| |
| setup | back to summary |
|---|---|
| pack-priv void setup() throws StandardException Overrides org. Doc from org. Set up the result set for use. Should always be called from
| |