| Modifier and Type | Field and Description |
|---|---|
| private final Activation | |
| private ConglomerateController | |
| private RowLocation | |
| pack-priv FormatableBitSet | |
| private int[] | |
| pack-priv FormatableBitSet | |
| pack-priv int[] | |
| pack-priv boolean[] | |
| pack-priv long | |
| pack-priv DynamicCompiledOpenConglomInfo | |
| pack-priv StaticCompiledOpenConglomInfo | |
| pack-priv long[] | |
| pack-priv DynamicCompiledOpenConglomInfo[] | |
| pack-priv String[] | |
| pack-priv StaticCompiledOpenConglomInfo[] | |
| pack-priv IndexRowGenerator[] | |
| private IndexSetChanger | |
| pack-priv boolean | |
| private int[] | |
| pack-priv TemporaryRowHolderImpl | |
| private DataValueDescriptor[] | |
| pack-priv TransactionController |
| Access | Constructor and Description |
|---|---|
| public | RowChangerImpl(long
Conglomerate # for the heap heapConglom, StaticCompiledOpenConglomInfo SCOCI for heap. heapSCOCI, DynamicCompiledOpenConglomInfo DCOCI for heap heapDCOCI, IndexRowGenerator[] the IndexRowGenerators for the table's indexes. We use
positions in this array as local id's for indexes. To support updates,
only indexes that change need be included. irgs, long[] the conglomerateids for the table's idexes.
indexCIDS[ix] corresponds to the same index as irgs[ix]. indexCIDS, StaticCompiledOpenConglomInfo[] the SCOCIs for the table's idexes.
indexSCOCIs[ix] corresponds to the same index as irgs[ix]. indexSCOCIs, DynamicCompiledOpenConglomInfo[] the DCOCIs for the table's idexes.
indexDCOCIs[ix] corresponds to the same index as irgs[ix]. indexDCOCIs, int Number of columns in partial write row. numberOfColumns, int[] array of 1 based ints indicating the columns
to be updated. Only used for updates changedColumnIdsInput, TransactionController the transaction controller tc, FormatableBitSet bit set of columns read from base row. 1 based. baseRowReadList, int[] BaseRowReadMap[heapColId]->ReadRowColumnId. (0 based) baseRowReadMap, Activation activation)Create a new RowChanger for performing update and delete operations based on partial before and after rows. |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | deleteRow(ExecRow
the row. baseRow, RowLocation the row's base conglomerate
location baseRowLocation)Implements org. Delete a row from the table and perform associated index maintenance. |
| public int | findSelectedCol(int
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). selectedCol)Implements org. Return what column no in the input ExecRow (cf nextBaseRow argument to #updateRow) would correspond to selected column, if any. |
| public void | finish()
Implements org. Finish processing the changes. |
| public ConglomerateController | getHeapConglomerateController()
Implements org. Return the ConglomerateController from this RowChanger. |
| public RowLocation | insertRow(ExecRow
the row. baseRow, boolean return a row location of the inserted row getRL)Implements org. Insert a row into the table and perform associated index maintenance. |
| public void | open(int
The lock mode to use
(row or table, see TransactionController) lockMode)Implements org. Open this RowChanger. |
| public void | open(int
The lock mode to use
(row or table, see TransactionController) lockMode, boolean 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. wait)Implements org. Open this RowChanger. |
| public void | openForUpdate(boolean[]
fixOnUpdat[ix] == true ==> fix index 'ix' on
an update operation. fixOnUpdate, int The lock mode to use
(row or table, see TransactionController) lockMode, boolean 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) wait)Implements org. Open this RowChanger to avoid fixing indexes that do not change during update operations. |
| public void | setIndexNames(String[]
Names of all the indices on this table. indexNames)Implements org. Sets the index names of the tables indices. |
| public void | setRowHolder(TemporaryRowHolder
the TemporaryRowHolder rowHolder)Implements org. Set the row holder for this changer to use. |
| private int[] | |
| public String | |
| public void | updateRow(ExecRow
the old image of the row. oldBaseRow, ExecRow the new image of the row. newBaseRow, RowLocation the row's base conglomerate
location baseRowLocation)Implements org. Update a row in the table and perform associated index maintenance. |
| activation | back to summary |
|---|---|
| private final Activation activation | |
| baseCC | back to summary |
|---|---|
| private ConglomerateController baseCC | |
| baseRowLocation | back to summary |
|---|---|
| private RowLocation baseRowLocation | |
| baseRowReadList | back to summary |
|---|---|
| pack-priv FormatableBitSet baseRowReadList | |
| baseRowReadMap | back to summary |
|---|---|
| private int[] baseRowReadMap | |
| changedColumnBitSet | back to summary |
|---|---|
| pack-priv FormatableBitSet changedColumnBitSet | |
| changedColumnIds | back to summary |
|---|---|
| pack-priv int[] changedColumnIds | |
| fixOnUpdate | back to summary |
|---|---|
| pack-priv boolean[] fixOnUpdate | |
| heapConglom | back to summary |
|---|---|
| pack-priv long heapConglom | |
| heapDCOCI | back to summary |
|---|---|
| pack-priv DynamicCompiledOpenConglomInfo heapDCOCI | |
| heapSCOCI | back to summary |
|---|---|
| pack-priv StaticCompiledOpenConglomInfo heapSCOCI | |
| indexCIDS | back to summary |
|---|---|
| pack-priv long[] indexCIDS | |
| indexDCOCIs | back to summary |
|---|---|
| pack-priv DynamicCompiledOpenConglomInfo[] indexDCOCIs | |
| indexNames | back to summary |
|---|---|
| pack-priv String[] indexNames | |
| indexSCOCIs | back to summary |
|---|---|
| pack-priv StaticCompiledOpenConglomInfo[] indexSCOCIs | |
| irgs | back to summary |
|---|---|
| pack-priv IndexRowGenerator[] irgs | |
| isc | back to summary |
|---|---|
| private IndexSetChanger isc | |
| isOpen | back to summary |
|---|---|
| pack-priv boolean isOpen | |
| partialChangedColumnIds | back to summary |
|---|---|
| private int[] partialChangedColumnIds | |
| rowHolder | back to summary |
|---|---|
| pack-priv TemporaryRowHolderImpl rowHolder | |
| sparseRowArray | back to summary |
|---|---|
| private DataValueDescriptor[] sparseRowArray | |
| tc | back to summary |
|---|---|
| pack-priv TransactionController tc | |
| RowChangerImpl | back to summary |
|---|---|
| public RowChangerImpl(long heapConglom, StaticCompiledOpenConglomInfo heapSCOCI, DynamicCompiledOpenConglomInfo heapDCOCI, IndexRowGenerator[] irgs, long[] indexCIDS, StaticCompiledOpenConglomInfo[] indexSCOCIs, DynamicCompiledOpenConglomInfo[] indexDCOCIs, int numberOfColumns, int[] changedColumnIdsInput, TransactionController tc, FormatableBitSet baseRowReadList, int[] baseRowReadMap, Activation activation) throws StandardException Create a new RowChanger for performing update and delete operations based on partial before and after rows.
| |
| close | back to summary |
|---|---|
| public void close() throws StandardException Implements org. Close this RowChanger.
| |
| deleteRow | back to summary |
|---|---|
| public void deleteRow(ExecRow baseRow, RowLocation baseRowLocation) throws StandardException Implements org. Delete a row from the table and perform associated index maintenance.
| |
| findSelectedCol | back to summary |
|---|---|
| public int findSelectedCol(int selectedCol) Implements org. Doc from org. Return what column no in the input ExecRow (cf nextBaseRow argument to #updateRow) would correspond to selected column, if any.
| |
| finish | back to summary |
|---|---|
| public void finish() throws StandardException Implements org. Finish processing the changes. This means applying the deferred inserts for updates to unique indexes.
| |
| getHeapConglomerateController | back to summary |
|---|---|
| public ConglomerateController getHeapConglomerateController() Implements org. Doc from org. Return the ConglomerateController from this RowChanger. This is useful when copying properties from heap to temp conglomerate on insert/update/delete.
| |
| insertRow | back to summary |
|---|---|
| public RowLocation insertRow(ExecRow baseRow, boolean getRL) throws StandardException Implements org. Insert a row into the table and perform associated index maintenance.
| |
| open | back to summary |
|---|---|
| public void open(int lockMode) throws StandardException Implements org. Open this RowChanger. Note to avoid the cost of fixing indexes that do not change during update operations use openForUpdate().
| |
| open | back to summary |
|---|---|
| public void open(int lockMode, boolean wait) throws StandardException Implements org. Doc from org. Open this RowChanger. Note to avoid the cost of fixing indexes that do not change during update operations use openForUpdate().
| |
| openForUpdate | back to summary |
|---|---|
| public void openForUpdate(boolean[] fixOnUpdate, int lockMode, boolean wait) throws StandardException Implements org. Open this RowChanger to avoid fixing indexes that do not change during update operations.
| |
| setIndexNames | back to summary |
|---|---|
| public void setIndexNames(String[] indexNames) Implements org. Doc from org. Sets the index names of the tables indices. Used for error reporting.
| |
| setRowHolder | back to summary |
|---|---|
| public void setRowHolder(TemporaryRowHolder rowHolder) Implements org. Set the row holder for this changer to use. If the row holder is set, it wont bother saving copies of rows needed for deferred processing. Also, it will never close the passed in rowHolder.
| |
| sortArray | back to summary |
|---|---|
| private int[] sortArray(int[] input) | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non-
| |
| updateRow | back to summary |
|---|---|
| public void updateRow(ExecRow oldBaseRow, ExecRow newBaseRow, RowLocation baseRowLocation) throws StandardException Implements org. Update a row in the table and perform associated index maintenance.
| |