org.apache.derby.iapi.store.raw.log
Interface Logger

All Known Implementing Classes:
FileLogger

public interface Logger


Method Summary
 void flush(LogInstant where)
          Flush all unwritten log record up to the log instance indicated to disk.
 void flushAll()
          Flush all unwritten log to disk
 LogInstant logAndDo(RawTransaction xact, Loggable operation)
          Log the loggable operation under the context of the transaction and then apply the operation to the RawStore.
 LogInstant logAndUndo(RawTransaction xact, Compensation operation, LogInstant undoInstant, LimitObjectInput in)
          Log the compensation operation under the context of the transaction and then apply the undo to the RawStore.
 void reprepare(RawTransaction t, TransactionId undoId, LogInstant undoStopAt, LogInstant undoStartAt)
          During recovery re-prepare a transaction.
 void undo(RawTransaction t, TransactionId undoId, LogInstant undoStopAt, LogInstant undoStartAt)
          Undo transaction.
 

Method Detail

logAndDo

LogInstant logAndDo(RawTransaction xact,
                    Loggable operation)
                    throws StandardException
Log the loggable operation under the context of the transaction and then apply the operation to the RawStore.
Before you call this method, make sure that the Loggable's doMe method will succeed. This method will go ahead and send the log record to disk, and once it does that, then doMe cannot fail or the system will be shut down and recovery may fail. So it is very important to make sure that every resource you need for the loggable's doMe method, such as disk space, has be acquired or accounted for before calling logAndDo.

Parameters:
xact - the transaction that is affecting the change
operation - the loggable operation that describes the change
Returns:
LogInstant that is the LogInstant of the loggable operation
Throws:
StandardException - Standard Derby error policy

logAndUndo

LogInstant logAndUndo(RawTransaction xact,
                      Compensation operation,
                      LogInstant undoInstant,
                      LimitObjectInput in)
                      throws StandardException
Log the compensation operation under the context of the transaction and then apply the undo to the RawStore.
Before you call this method, make sure that the Compensation's doMe method will succeed. This method will go ahead and send the log record to disk, and once it does that, then doMe cannot fail or the system will be shut down and recovery may fail. So it is very important to make sure that every resource you need for the Compensation's doMe method, such as disk space, has be acquired or accounted for before calling logAndUnDo.

Parameters:
xact - the transaction that is affecting the undo
operation - the compensation operation
undoInstant - the logInstant of the change that is to be undone
in - optional data
Returns:
LogInstant that is the LogInstant of the compensation operation
Throws:
StandardException - Standard Derby error policy

flush

void flush(LogInstant where)
           throws StandardException
Flush all unwritten log record up to the log instance indicated to disk.

Parameters:
where - flush log up to here
Throws:
StandardException - cannot flush due to sync error

flushAll

void flushAll()
              throws StandardException
Flush all unwritten log to disk

Throws:
StandardException - cannot flush due to sync error

reprepare

void reprepare(RawTransaction t,
               TransactionId undoId,
               LogInstant undoStopAt,
               LogInstant undoStartAt)
               throws StandardException
During recovery re-prepare a transaction.

After redo() and undo(), this routine is called on all outstanding in-doubt (prepared) transactions. This routine re-acquires all logical write locks for operations in the xact, and then modifies the transaction table entry to make the transaction look as if it had just been prepared following startup after recovery.

Parameters:
t - is the transaction performing the re-prepare
undoId - is the transaction ID to be re-prepared
undoStopAt - is where the log instant (inclusive) where the re-prepare should stop.
undoStartAt - is the log instant (inclusive) where re-prepare should begin, this is normally the log instant of the last log record of the transaction that is to be re-prepare. If null, then re-prepare starts from the end of the log.
Throws:
StandardException - Standard exception policy.

undo

void undo(RawTransaction t,
          TransactionId undoId,
          LogInstant undoStopAt,
          LogInstant undoStartAt)
          throws StandardException
Undo transaction.

Parameters:
t - is the transaction performing the rollback
undoId - is the transaction ID to be rolled back
undoStopAt - is where the log instant (inclusive) where the rollback should stop.
undoStartAt - is the log instant (inclusive) where rollback should begin, this is normally the log instant of the last log record of the transaction that is to be rolled back. If null, then rollback starts from the end of the log.
Throws:
StandardException - Standard Derby error policy

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.