| java.lang.Object org.apache.derby.impl.sql.execute.IndexSetChanger
IndexSetChanger | public class IndexSetChanger (Code) | | Perform Index maintenace associated with DML operations for a table's
indexes.
|
Constructor Summary | |
public | IndexSetChanger(IndexRowGenerator[] irgs, long[] indexCIDS, StaticCompiledOpenConglomInfo[] indexSCOCIs, DynamicCompiledOpenConglomInfo[] indexDCOCIs, String[] indexNames, ConglomerateController baseCC, TransactionController tc, int lockMode, FormatableBitSet baseRowReadMap, int isolationLevel, Activation activation) Create a new IndexSetChanger
Parameters: irgs - the IndexRowGenerators for the table's indexes. |
Method Summary | |
public void | close() Close this IndexSetChanger. | public void | delete(ExecRow baseRow, RowLocation baseRowLocation) Perform index maintenance associated with deleting a row
from a table. | public void | finish() Finish processing the changes for this IndexSetChanger. | public void | insert(ExecRow baseRow, RowLocation baseRowLocation) Perform index maintenance associated with insering a row
into a table. | public void | open(boolean[] fixOnUpdate) Open this IndexSetchanger.
Parameters: fixOnUpdate - indicates which indexes to correct dueto an update. | public void | setBaseCC(ConglomerateController baseCC) Propagate the heap's ConglomerateController to
all of the underlying index changers. | public void | setRowHolder(TemporaryRowHolderImpl rowHolder) Set the row holder for all underlying changers to use.
If the row holder is set, underlying changers wont bother
saving copies of rows needed for deferred
processing. | public String | toString() | public void | update(ExecRow oldBaseRow, ExecRow newBaseRow, RowLocation baseRowLocation) Perform index maintenance associated with updating a row
in a table. |
fixOnUpdate | boolean[] fixOnUpdate(Code) | | |
indexCIDS | long[] indexCIDS(Code) | | |
IndexSetChanger | public IndexSetChanger(IndexRowGenerator[] irgs, long[] indexCIDS, StaticCompiledOpenConglomInfo[] indexSCOCIs, DynamicCompiledOpenConglomInfo[] indexDCOCIs, String[] indexNames, ConglomerateController baseCC, TransactionController tc, int lockMode, FormatableBitSet baseRowReadMap, int isolationLevel, Activation activation) throws StandardException(Code) | | Create a new IndexSetChanger
Parameters: irgs - the IndexRowGenerators for the table's indexes. We usepositions in this array as local id's for indexes. Parameters: indexCIDS - the conglomerate ids for the table's indexes.indexCIDS[ix] corresponds to the same index as irgs[ix]. Parameters: indexSCOCIs - the SCOCIs for the table's idexes. indexSCOCIs[ix] corresponds to the same index as irgs[ix]. Parameters: indexDCOCIs - the DCOCIs for the table's idexes. indexDCOCIs[ix] corresponds to the same index as irgs[ix]. Parameters: baseCC - a ConglomerateController for the base table. Parameters: tc - a TransactionController for managing temporary conglomerates Parameters: lockMode - The lock mode (granularity) for the indexes. Parameters: baseRowReadMap - Map of columns read in. 1 based. Parameters: isolationLevel - Isolation level to use Parameters: activation - Current activation exception: StandardException - Thrown on error |
delete | public void delete(ExecRow baseRow, RowLocation baseRowLocation) throws StandardException(Code) | | Perform index maintenance associated with deleting a row
from a table.
Parameters: baseRow - the deleted row. Parameters: baseRowLocation - the deleted row's base conglomeratelocation exception: StandardException - Thrown on error |
finish | public void finish() throws StandardException(Code) | | Finish processing the changes for this IndexSetChanger. This means
doing the deferred inserts for updates of unique indexes.
exception: StandardException - Thrown on error |
insert | public void insert(ExecRow baseRow, RowLocation baseRowLocation) throws StandardException(Code) | | Perform index maintenance associated with insering a row
into a table.
Parameters: baseRow - the row. Parameters: baseRowLocation - the row's base conglomeratelocation exception: StandardException - Thrown on error |
open | public void open(boolean[] fixOnUpdate) throws StandardException(Code) | | Open this IndexSetchanger.
Parameters: fixOnUpdate - indicates which indexes to correct dueto an update. The entries in this array must be in thesame order as the entries in the irgs array that waspassed to the constructor. exception: StandardException - Thrown on error |
setBaseCC | public void setBaseCC(ConglomerateController baseCC)(Code) | | Propagate the heap's ConglomerateController to
all of the underlying index changers.
Parameters: baseCC - The heap's ConglomerateController. |
setRowHolder | public void setRowHolder(TemporaryRowHolderImpl rowHolder)(Code) | | Set the row holder for all underlying changers to use.
If the row holder is set, underlying changers wont bother
saving copies of rows needed for deferred
processing. Also, it will never close the
passed in rowHolder.
Parameters: rowHolder - the row holder |
toString | public String toString()(Code) | | Create a string describing the state of this IndexSetChanger
|
update | public void update(ExecRow oldBaseRow, ExecRow newBaseRow, RowLocation baseRowLocation) throws StandardException(Code) | | Perform index maintenance associated with updating a row
in a table.
Parameters: oldBaseRow - the old image of the row. Parameters: newBaseRow - the new image of the row. Parameters: baseRowLocation - the row's base conglomeratelocation exception: StandardException - Thrown on error |
|
|