Top Methods
org.apache.derby.iapi.store.raw.log

public Interface Logger

Known Direct Implementers
org.apache.derby.impl.store.raw.log.FileLogger
Imports
org.apache.derby.iapi.store.raw.RawStoreFactory, .Loggable, .Compensation, org.apache.derby.iapi.store.raw.xact.RawTransaction, .TransactionFactory, .TransactionId, org.apache.derby.iapi.store.raw.data.DataFactory, org.apache.derby.shared.common.error.StandardException, org.apache.derby.iapi.services.io.LimitObjectInput

Method Summary

Modifier and TypeMethod and Description
public void
flush(LogInstant
flush log up to here
where
)

Flush all unwritten log record up to the log instance indicated to disk.

public void
flushAll()

Flush all unwritten log to disk

public LogInstant

Returns:

LogInstant that is the LogInstant of the loggable operation
logAndDo
(RawTransaction
the transaction that is affecting the change
xact
,
Loggable
the loggable operation that describes the change
operation
)

Log the loggable operation under the context of the transaction and then apply the operation to the RawStore.

public LogInstant

Returns:

LogInstant that is the LogInstant of the compensation operation
logAndUndo
(RawTransaction
the transaction that is affecting the undo
xact
,
Compensation
the compensation operation
operation
,
LogInstant
the logInstant of the change that is to be undone
undoInstant
,
LimitObjectInput
optional data
in
)

Log the compensation operation under the context of the transaction and then apply the undo to the RawStore.

public void
reprepare(RawTransaction
is the transaction performing the re-prepare
t
,
TransactionId
is the transaction ID to be re-prepared
undoId
,
LogInstant
is where the log instant (inclusive) where the re-prepare should stop.
undoStopAt
,
LogInstant
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.
undoStartAt
)

During recovery re-prepare a transaction.

public void
undo(RawTransaction
is the transaction performing the rollback
t
,
TransactionId
is the transaction ID to be rolled back
undoId
,
LogInstant
is where the log instant (inclusive) where the rollback should stop.
undoStopAt
,
LogInstant
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.
undoStartAt
)

Undo transaction.

Method Detail

flushback to summary
public void flush(LogInstant where) throws StandardException

Flush all unwritten log record up to the log instance indicated to disk.

Parameters
where:LogInstant

flush log up to here

Exceptions
StandardException:
cannot flush due to sync error
flushAllback to summary
public void flushAll() throws StandardException

Flush all unwritten log to disk

Exceptions
StandardException:
cannot flush due to sync error
logAndDoback to summary
public 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:RawTransaction

the transaction that is affecting the change

operation:Loggable

the loggable operation that describes the change

Returns:LogInstant

LogInstant that is the LogInstant of the loggable operation

Exceptions
StandardException:
Standard Derby error policy
logAndUndoback to summary
public 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:RawTransaction

the transaction that is affecting the undo

operation:Compensation

the compensation operation

undoInstant:LogInstant

the logInstant of the change that is to be undone

in:LimitObjectInput

optional data

Returns:LogInstant

LogInstant that is the LogInstant of the compensation operation

Exceptions
StandardException:
Standard Derby error policy
reprepareback to summary
public 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:RawTransaction

is the transaction performing the re-prepare

undoId:TransactionId

is the transaction ID to be re-prepared

undoStopAt:LogInstant

is where the log instant (inclusive) where the re-prepare should stop.

undoStartAt:LogInstant

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.

Exceptions
StandardException:
Standard exception policy.
undoback to summary
public void undo(RawTransaction t, TransactionId undoId, LogInstant undoStopAt, LogInstant undoStartAt) throws StandardException

Undo transaction.

Parameters
t:RawTransaction

is the transaction performing the rollback

undoId:TransactionId

is the transaction ID to be rolled back

undoStopAt:LogInstant

is where the log instant (inclusive) where the rollback should stop.

undoStartAt:LogInstant

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.

Exceptions
StandardException:
Standard Derby error policy