class IndexSetChanger
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
private Activation |
activation |
|
private static int |
ALL_INDEXES |
|
(package private) ConglomerateController |
baseCC |
|
(package private) FormatableBitSet |
baseRowReadMap |
|
(package private) boolean[] |
fixOnUpdate |
|
(package private) IndexChanger[] |
indexChangers |
|
(package private) long[] |
indexCIDS |
|
private DynamicCompiledOpenConglomInfo[] |
indexDCOCIs |
|
(package private) java.lang.String[] |
indexNames |
|
private StaticCompiledOpenConglomInfo[] |
indexSCOCIs |
|
(package private) IndexRowGenerator[] |
irgs |
|
private int |
isolationLevel |
|
(package private) boolean |
isOpen |
|
private int |
lockMode |
|
private static int |
NO_INDEXES |
|
(package private) TemporaryRowHolderImpl |
rowHolder |
|
(package private) TransactionController |
tc |
|
private static int |
UPDATE_INDEXES |
|
private int |
whatIsOpen |
Constructor | Description |
---|---|
IndexSetChanger(IndexRowGenerator[] irgs,
long[] indexCIDS,
StaticCompiledOpenConglomInfo[] indexSCOCIs,
DynamicCompiledOpenConglomInfo[] indexDCOCIs,
java.lang.String[] indexNames,
ConglomerateController baseCC,
TransactionController tc,
int lockMode,
FormatableBitSet baseRowReadMap,
int isolationLevel,
Activation activation) |
Create a new IndexSetChanger
|
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Close this IndexSetChanger.
|
void |
delete(ExecRow baseRow,
RowLocation baseRowLocation) |
Perform index maintenance associated with deleting a row
from a table.
|
void |
finish() |
Finish processing the changes for this IndexSetChanger.
|
void |
insert(ExecRow baseRow,
RowLocation baseRowLocation) |
Perform index maintenance associated with insering a row
into a table.
|
void |
open(boolean[] fixOnUpdate) |
Open this IndexSetchanger.
|
private void |
openIndexes(int whatToOpen) |
Open the indexes that must be fixed if they are not already
open.
|
void |
setBaseCC(ConglomerateController baseCC) |
Propagate the heap's ConglomerateController to
all of the underlying index changers.
|
void |
setRowHolder(TemporaryRowHolderImpl rowHolder) |
Set the row holder for all underlying changers to use.
|
java.lang.String |
toString() |
Create a string describing the state of this IndexSetChanger
|
void |
update(ExecRow oldBaseRow,
ExecRow newBaseRow,
RowLocation baseRowLocation) |
Perform index maintenance associated with updating a row
in a table.
|
IndexRowGenerator[] irgs
long[] indexCIDS
private DynamicCompiledOpenConglomInfo[] indexDCOCIs
private StaticCompiledOpenConglomInfo[] indexSCOCIs
java.lang.String[] indexNames
ConglomerateController baseCC
FormatableBitSet baseRowReadMap
TransactionController tc
TemporaryRowHolderImpl rowHolder
IndexChanger[] indexChangers
private int lockMode
boolean[] fixOnUpdate
boolean isOpen
private static final int NO_INDEXES
private static final int UPDATE_INDEXES
private static final int ALL_INDEXES
private int whatIsOpen
private int isolationLevel
private final Activation activation
public IndexSetChanger(IndexRowGenerator[] irgs, long[] indexCIDS, StaticCompiledOpenConglomInfo[] indexSCOCIs, DynamicCompiledOpenConglomInfo[] indexDCOCIs, java.lang.String[] indexNames, ConglomerateController baseCC, TransactionController tc, int lockMode, FormatableBitSet baseRowReadMap, int isolationLevel, Activation activation) throws StandardException
irgs
- the IndexRowGenerators for the table's indexes. We use
positions in this array as local id's for indexes.indexCIDS
- the conglomerate ids for the table's indexes.
indexCIDS[ix] corresponds to the same index as irgs[ix].indexSCOCIs
- the SCOCIs for the table's idexes.
indexSCOCIs[ix] corresponds to the same index as irgs[ix].indexDCOCIs
- the DCOCIs for the table's idexes.
indexDCOCIs[ix] corresponds to the same index as irgs[ix].baseCC
- a ConglomerateController for the base table.tc
- a TransactionController for managing temporary conglomerateslockMode
- The lock mode (granularity) for the indexes.baseRowReadMap
- Map of columns read in. 1 based.isolationLevel
- Isolation level to useactivation
- Current activationStandardException
- Thrown on errorpublic void open(boolean[] fixOnUpdate) throws StandardException
fixOnUpdate
- indicates which indexes to correct due
to an update. The entries in this array must be in the
same order as the entries in the irgs array that was
passed to the constructor.StandardException
- Thrown on errorpublic void setRowHolder(TemporaryRowHolderImpl rowHolder)
rowHolder
- the row holderprivate void openIndexes(int whatToOpen) throws StandardException
whatToOpen
- must be one of ALL_INDEXES or UPDATE_INDEXES.StandardException
- Thrown on errorpublic void delete(ExecRow baseRow, RowLocation baseRowLocation) throws StandardException
baseRow
- the deleted row.baseRowLocation
- the deleted row's base conglomerate
locationStandardException
- Thrown on errorpublic void insert(ExecRow baseRow, RowLocation baseRowLocation) throws StandardException
baseRow
- the row.baseRowLocation
- the row's base conglomerate
locationStandardException
- Thrown on errorpublic void update(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 errorpublic void setBaseCC(ConglomerateController baseCC)
baseCC
- The heap's ConglomerateController.public void finish() throws StandardException
StandardException
- Thrown on errorpublic void close() throws StandardException
StandardException
- Thrown on errorpublic java.lang.String toString()
toString
in class java.lang.Object
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.