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

Quick Search    Search Deep

org.apache.derby.iapi.sql.execute
Interface RowChanger  view RowChanger download RowChanger.java


public interface RowChanger

Perform row at a time DML operations of tables and maintain indexes.


Method Summary
 void close()
          Close this RowChanger.
 void deleteRow(ExecRow baseRow, org.apache.derby.iapi.types.RowLocation baseRowLocation)
          Delete a row from the table and perform associated index maintenance.
 void finish()
          Finish processing the changes.
 org.apache.derby.iapi.store.access.ConglomerateController getHeapConglomerateController()
          Return the ConglomerateController from this RowChanger.
 void insertRow(ExecRow baseRow)
          Insert a row into the table and perform associated index maintenance.
 void open(int lockMode)
          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, org.apache.derby.iapi.types.RowLocation baseRowLocation)
          Update a row in the table and perform associated index maintenance.
 

Method Detail

open

public void open(int lockMode)
          throws org.apache.derby.iapi.error.StandardException
Open this RowChanger.

Note to avoid the cost of fixing indexes that do not change during update operations use openForUpdate().


setRowHolder

public void setRowHolder(TemporaryRowHolder rowHolder)
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.


setIndexNames

public void setIndexNames(java.lang.String[] indexNames)
Sets the index names of the tables indices. Used for error reporting.


openForUpdate

public void openForUpdate(boolean[] fixOnUpdate,
                          int lockMode,
                          boolean wait)
                   throws org.apache.derby.iapi.error.StandardException
Open this RowChanger to avoid fixing indexes that do not change during update operations.


insertRow

public void insertRow(ExecRow baseRow)
               throws org.apache.derby.iapi.error.StandardException
Insert a row into the table and perform associated index maintenance.


deleteRow

public void deleteRow(ExecRow baseRow,
                      org.apache.derby.iapi.types.RowLocation baseRowLocation)
               throws org.apache.derby.iapi.error.StandardException
Delete a row from the table and perform associated index maintenance.


updateRow

public void updateRow(ExecRow oldBaseRow,
                      ExecRow newBaseRow,
                      org.apache.derby.iapi.types.RowLocation baseRowLocation)
               throws org.apache.derby.iapi.error.StandardException
Update a row in the table and perform associated index maintenance.


finish

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


close

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


getHeapConglomerateController

public org.apache.derby.iapi.store.access.ConglomerateController getHeapConglomerateController()
Return the ConglomerateController from this RowChanger. This is useful when copying properties from heap to temp conglomerate on insert/update/delete.