RowChangerImpl
public interface RowChanger
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Close this RowChanger.
|
void |
deleteRow(ExecRow baseRow,
RowLocation baseRowLocation) |
Delete a row from the table and perform associated index maintenance.
|
int |
findSelectedCol(int selectedCol) |
Return what column no in the input ExecRow (cf nextBaseRow argument to
#updateRow) would correspond to selected column, if any.
|
void |
finish() |
Finish processing the changes.
|
ConglomerateController |
getHeapConglomerateController() |
Return the ConglomerateController from this RowChanger.
|
RowLocation |
insertRow(ExecRow baseRow,
boolean getRL) |
Insert a row into the table and perform associated index maintenance.
|
void |
open(int lockMode) |
Open this RowChanger.
|
void |
open(int lockMode,
boolean wait) |
Open this RowChanger.
|
void |
openForUpdate(boolean[] fixOnUpdate,
int lockMode,
boolean wait) |
Open this RowChanger to avoid fixing indexes that do not change
during update operations.
|
void |
setIndexNames(java.lang.String[] indexNames) |
Sets the index names of the tables indices.
|
void |
setRowHolder(TemporaryRowHolder rowHolder) |
Set the row holder for this changer to use.
|
void |
updateRow(ExecRow oldBaseRow,
ExecRow newBaseRow,
RowLocation baseRowLocation) |
Update a row in the table and perform associated index maintenance.
|
void open(int lockMode) throws StandardException
Note to avoid the cost of fixing indexes that do not change during update operations use openForUpdate().
lockMode
- The lock mode to use
(row or table, see TransactionController)StandardException
- thrown on failure to convertvoid setRowHolder(TemporaryRowHolder rowHolder)
rowHolder
- the row holdervoid setIndexNames(java.lang.String[] indexNames)
indexNames
- Names of all the indices on this table.void openForUpdate(boolean[] fixOnUpdate, int lockMode, boolean wait) throws StandardException
fixOnUpdate
- fixOnUpdat[ix] == true ==> fix index 'ix' on
an update operation.lockMode
- The lock mode to use
(row or table, see TransactionController)wait
- If true, then the caller wants to wait for locks. False will be
when we using a nested user xaction - we want to timeout right away
if the parent holds the lock. (bug 4821)StandardException
- thrown on failure to convertRowLocation insertRow(ExecRow baseRow, boolean getRL) throws StandardException
baseRow
- the row.getRL
- return a row location of the inserted rownull
.StandardException
- Thrown on errorvoid deleteRow(ExecRow baseRow, RowLocation baseRowLocation) throws StandardException
baseRow
- the row.baseRowLocation
- the row's base conglomerate
locationStandardException
- Thrown on errorvoid updateRow(ExecRow oldBaseRow, ExecRow newBaseRow, RowLocation baseRowLocation) throws StandardException
oldBaseRow
- the old image of the row.newBaseRow
- the new image of the row.baseRowLocation
- the row's base conglomerate
locationStandardException
- Thrown on errorvoid finish() throws StandardException
StandardException
- Thrown on errorvoid close() throws StandardException
StandardException
- Thrown on errorConglomerateController getHeapConglomerateController()
void open(int lockMode, boolean wait) throws StandardException
Note to avoid the cost of fixing indexes that do not change during update operations use openForUpdate().
lockMode
- The lock mode to use
(row or table, see TransactionController)wait
- If true, then the caller wants to wait for locks. False will be
when we using a nested user xaction - we want to timeout right away
if the parent holds the lock.StandardException
- thrown on failure to convertint findSelectedCol(int selectedCol)
selectedCol
- the column number in the base table of a selected
column or -1 (if selected column is not a base table
column, e.g. i+4).Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.