public class LogicalUndoOperation extends PageBasicOperation implements Compensation
| Format ID | LOGOP_PAGE_LOGICAL_UNDO the formatId is written by FormatIdOutputStream when this object is written out by writeObject |
| Purpose | undo a logical log operation |
| Upgrade | |
| Disk Layout | PageBasicOperation the super class recordId(CompressedInt) the recordId of the changed row (this may not be the recordId during rollback if the record moved from one page to another) OptionalData none (compensation operation never have optional data) |
| Modifier and Type | Field and Description |
|---|---|
protected int |
recordId |
private LogicalPageOperation |
undoOp
The operation to be rolled back
|
containerHdl, foundHere, pageABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK| Modifier | Constructor and Description |
|---|---|
|
LogicalUndoOperation()
Return my format identifier.
|
protected |
LogicalUndoOperation(BasePage page) |
|
LogicalUndoOperation(BasePage page,
int recordId,
LogicalPageOperation op)
Set up a compensation operation during run time rollback
|
| Modifier and Type | Method and Description |
|---|---|
void |
doMe(Transaction xact,
LogInstant instant,
LimitObjectInput in)
Apply the undo operation, in this implementation of the
RawStore, it can only call the undoMe method of undoOp
|
ByteArray |
getPreparedLog()
the default for optional data is set to null.
|
int |
getTypeFormatId()
Get a universally unique identifier for the type of
this object.
|
int |
group()
A page operation is a RAWSTORE log record
|
void |
readExternal(java.io.ObjectInput in)
Read this in
|
void |
releaseResource(Transaction xact)
Release latched page and any other resources acquired during a previous
findpage, safe to call multiple times.
|
void |
restoreMe(Transaction xact,
BasePage undoPage,
LogInstant CLRinstant,
LimitObjectInput in)
Undo the change indicated by this log operation and optional data.
|
void |
setUndoOp(Undoable op)
Set up a LogicalOperation during recovery redo.
|
java.lang.String |
toString()
DEBUG: Print self.
|
void |
writeExternal(java.io.ObjectOutput out)
Write this out.
|
findpage, getPage, getPageForRedoRecovery, getPageId, getPageVersion, needsRedo, reclaimPrepareLocks, resetPageNumberprotected int recordId
private transient LogicalPageOperation undoOp
protected LogicalUndoOperation(BasePage page)
public LogicalUndoOperation(BasePage page, int recordId, LogicalPageOperation op)
public LogicalUndoOperation()
public int getTypeFormatId()
TypedFormatgetTypeFormatId in interface TypedFormatpublic void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.ExternalizablewriteExternal in class PageBasicOperationjava.io.IOException - error writing to log streampublic void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
readExternal in interface java.io.ExternalizablereadExternal in class PageBasicOperationjava.io.IOException - error reading from log streamjava.lang.ClassNotFoundException - log stream corruptedpublic void restoreMe(Transaction xact, BasePage undoPage, LogInstant CLRinstant, LimitObjectInput in)
PageBasicOperationrestoreMe in class PageBasicOperationxact - the Transaction doing the rollbackundoPage - the page to rollback changes onCLRinstant - the log instant of this (PageUndo) operationin - optional data for the rollback operationpublic void setUndoOp(Undoable op)
setUndoOp in interface Compensationop - the Undoable operationLoggable.needsRedo(org.apache.derby.iapi.store.raw.Transaction)public final void doMe(Transaction xact, LogInstant instant, LimitObjectInput in) throws StandardException, java.io.IOException
doMe in interface Loggablexact - the Transaction that is doing the rollbackinstant - the log instant of this undo operationin - optional datajava.io.IOException - Can be thrown by any of the methods of ObjectInput.StandardException - Standard Derby policy.public void releaseResource(Transaction xact)
PageBasicOperationreleaseResource in interface LoggablereleaseResource in class PageBasicOperationpublic int group()
PageBasicOperationgroup in interface Loggablegroup in class PageBasicOperationpublic final ByteArray getPreparedLog()
PageBasicOperationgetPreparedLog in interface LoggablegetPreparedLog in class PageBasicOperationpublic java.lang.String toString()
toString in class PageBasicOperationApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.