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

Quick Search    Search Deep

org.apache.derby.iapi.store.raw
Interface LogicalUndoable  view LogicalUndoable download LogicalUndoable.java

All Superinterfaces:
java.io.Externalizable, org.apache.derby.iapi.services.io.Formatable, Loggable, java.io.Serializable, org.apache.derby.iapi.services.io.TypedFormat, Undoable

public interface LogicalUndoable
extends Undoable

A LogicalUndoable is a log operation that operates on the content of a page and the log operation needs logical undo. This interface is used by LogicalUndo to extract information out of the log record, and to pass back to the logging system the real location where the roll back should happen.

It has specific page information such as its segment Id, container Id, page number, and it knows how to restore a storable row from the information stored in the log record.


Field Summary
 
Fields inherited from interface org.apache.derby.iapi.store.raw.Loggable
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK
 
Method Summary
 ContainerHandle getContainer()
          Return the containerHandle used by this log operation.
 RecordHandle getRecordHandle()
          Return the recordHandle stored in the log operation that correspond to the record that was changed in the rollforward.
 void resetRecordHandle(RecordHandle rh)
          If the row has moved, reset the record handle that the undo should be applied on.
 void restoreLoggedRow(java.lang.Object[] row, org.apache.derby.iapi.services.io.LimitObjectInput in)
          Restore the row stored in the log operation.
 
Methods inherited from interface org.apache.derby.iapi.store.raw.Undoable
generateUndo
 
Methods inherited from interface org.apache.derby.iapi.store.raw.Loggable
doMe, getPreparedLog, group, needsRedo, releaseResource
 
Methods inherited from interface java.io.Externalizable
readExternal, writeExternal
 
Methods inherited from interface org.apache.derby.iapi.services.io.TypedFormat
getTypeFormatId
 

Method Detail

getContainer

public ContainerHandle getContainer()
                             throws org.apache.derby.iapi.error.StandardException
Return the containerHandle used by this log operation. Logical cannot change container identity between roll forward and roll back. This method should only be called by LogicalUndo to extract information from the log record.


getRecordHandle

public RecordHandle getRecordHandle()
Return the recordHandle stored in the log operation that correspond to the record that was changed in the rollforward. This method should only be called by LogicalUndo to extract information from the log record.


restoreLoggedRow

public void restoreLoggedRow(java.lang.Object[] row,
                             org.apache.derby.iapi.services.io.LimitObjectInput in)
                      throws org.apache.derby.iapi.error.StandardException,
                             java.io.IOException
Restore the row stored in the log operation. This method should only be called by LogicalUndo to extract information from the log record.


resetRecordHandle

public void resetRecordHandle(RecordHandle rh)
If the row has moved, reset the record handle that the undo should be applied on.