Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.derby.impl.sql.execute
Class IndexSetChanger  view IndexSetChanger download IndexSetChanger.java

java.lang.Object
  extended byorg.apache.derby.impl.sql.execute.IndexSetChanger

public class IndexSetChanger
extends java.lang.Object

Perform Index maintenace associated with DML operations for a table's indexes.


Field Summary
private  org.apache.derby.iapi.sql.Activation activation
           
private static int ALL_INDEXES
           
(package private)  org.apache.derby.iapi.store.access.ConglomerateController baseCC
           
(package private)  org.apache.derby.iapi.services.io.FormatableBitSet baseRowReadMap
           
(package private)  boolean[] fixOnUpdate
           
(package private)  IndexChanger[] indexChangers
           
(package private)  long[] indexCIDS
           
private  org.apache.derby.iapi.store.access.DynamicCompiledOpenConglomInfo[] indexDCOCIs
           
(package private)  java.lang.String[] indexNames
           
private  org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo[] indexSCOCIs
           
(package private)  org.apache.derby.iapi.sql.dictionary.IndexRowGenerator[] irgs
           
private  int isolationLevel
           
(package private)  boolean isOpen
           
private  int lockMode
           
private static int NO_INDEXES
           
(package private)  TemporaryRowHolderImpl rowHolder
           
(package private)  org.apache.derby.iapi.store.access.TransactionController tc
           
private static int UPDATE_INDEXES
           
private  int whatIsOpen
           
 
Constructor Summary
IndexSetChanger(org.apache.derby.iapi.sql.dictionary.IndexRowGenerator[] irgs, long[] indexCIDS, org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo[] indexSCOCIs, org.apache.derby.iapi.store.access.DynamicCompiledOpenConglomInfo[] indexDCOCIs, java.lang.String[] indexNames, org.apache.derby.iapi.store.access.ConglomerateController baseCC, org.apache.derby.iapi.store.access.TransactionController tc, int lockMode, org.apache.derby.iapi.services.io.FormatableBitSet baseRowReadMap, int isolationLevel, org.apache.derby.iapi.sql.Activation activation)
          Create a new IndexSetChanger
 
Method Summary
 void close()
          Close this IndexSetChanger.
 void delete(org.apache.derby.iapi.sql.execute.ExecRow baseRow, org.apache.derby.iapi.types.RowLocation baseRowLocation)
          Perform index maintenance associated with deleting a row from a table.
 void finish()
          Finish processing the changes for this IndexSetChanger.
 void insert(org.apache.derby.iapi.sql.execute.ExecRow baseRow, org.apache.derby.iapi.types.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(org.apache.derby.iapi.store.access.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(org.apache.derby.iapi.sql.execute.ExecRow oldBaseRow, org.apache.derby.iapi.sql.execute.ExecRow newBaseRow, org.apache.derby.iapi.types.RowLocation baseRowLocation)
          Perform index maintenance associated with updating a row in a table.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

irgs

org.apache.derby.iapi.sql.dictionary.IndexRowGenerator[] irgs

indexCIDS

long[] indexCIDS

indexDCOCIs

private org.apache.derby.iapi.store.access.DynamicCompiledOpenConglomInfo[] indexDCOCIs

indexSCOCIs

private org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo[] indexSCOCIs

indexNames

java.lang.String[] indexNames

baseCC

org.apache.derby.iapi.store.access.ConglomerateController baseCC

baseRowReadMap

org.apache.derby.iapi.services.io.FormatableBitSet baseRowReadMap

tc

org.apache.derby.iapi.store.access.TransactionController tc

rowHolder

TemporaryRowHolderImpl rowHolder

indexChangers

IndexChanger[] indexChangers

lockMode

private int lockMode

fixOnUpdate

boolean[] fixOnUpdate

isOpen

boolean isOpen

NO_INDEXES

private static final int NO_INDEXES
See Also:
Constant Field Values

UPDATE_INDEXES

private static final int UPDATE_INDEXES
See Also:
Constant Field Values

ALL_INDEXES

private static final int ALL_INDEXES
See Also:
Constant Field Values

whatIsOpen

private int whatIsOpen

isolationLevel

private int isolationLevel

activation

private org.apache.derby.iapi.sql.Activation activation
Constructor Detail

IndexSetChanger

public IndexSetChanger(org.apache.derby.iapi.sql.dictionary.IndexRowGenerator[] irgs,
                       long[] indexCIDS,
                       org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo[] indexSCOCIs,
                       org.apache.derby.iapi.store.access.DynamicCompiledOpenConglomInfo[] indexDCOCIs,
                       java.lang.String[] indexNames,
                       org.apache.derby.iapi.store.access.ConglomerateController baseCC,
                       org.apache.derby.iapi.store.access.TransactionController tc,
                       int lockMode,
                       org.apache.derby.iapi.services.io.FormatableBitSet baseRowReadMap,
                       int isolationLevel,
                       org.apache.derby.iapi.sql.Activation activation)
                throws org.apache.derby.iapi.error.StandardException
Create a new IndexSetChanger

Method Detail

open

public void open(boolean[] fixOnUpdate)
          throws org.apache.derby.iapi.error.StandardException
Open this IndexSetchanger.


setRowHolder

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. Also, it will never close the passed in rowHolder.


openIndexes

private void openIndexes(int whatToOpen)
                  throws org.apache.derby.iapi.error.StandardException
Open the indexes that must be fixed if they are not already open.


delete

public void delete(org.apache.derby.iapi.sql.execute.ExecRow baseRow,
                   org.apache.derby.iapi.types.RowLocation baseRowLocation)
            throws org.apache.derby.iapi.error.StandardException
Perform index maintenance associated with deleting a row from a table.


insert

public void insert(org.apache.derby.iapi.sql.execute.ExecRow baseRow,
                   org.apache.derby.iapi.types.RowLocation baseRowLocation)
            throws org.apache.derby.iapi.error.StandardException
Perform index maintenance associated with insering a row into a table.


update

public void update(org.apache.derby.iapi.sql.execute.ExecRow oldBaseRow,
                   org.apache.derby.iapi.sql.execute.ExecRow newBaseRow,
                   org.apache.derby.iapi.types.RowLocation baseRowLocation)
            throws org.apache.derby.iapi.error.StandardException
Perform index maintenance associated with updating a row in a table.


setBaseCC

public void setBaseCC(org.apache.derby.iapi.store.access.ConglomerateController baseCC)
Propagate the heap's ConglomerateController to all of the underlying index changers.


finish

public void finish()
            throws org.apache.derby.iapi.error.StandardException
Finish processing the changes for this IndexSetChanger. This means doing the deferred inserts for updates of unique indexes.


close

public void close()
           throws org.apache.derby.iapi.error.StandardException
Close this IndexSetChanger.


toString

public java.lang.String toString()
Create a string describing the state of this IndexSetChanger