java.io.Externalizable
, java.io.Serializable
, Formatable
, TypedFormat
, Compensation
, Loggable
, RePreparable
public final 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 | Description |
---|---|---|
protected int |
recordId |
|
private LogicalPageOperation |
undoOp |
The operation to be rolled back
|
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK
containerHdl, foundHere, page
Constructor | Description |
---|---|
LogicalUndoOperation() |
Return my format identifier.
|
LogicalUndoOperation(BasePage page) |
|
LogicalUndoOperation(BasePage page,
int recordId,
LogicalPageOperation op) |
Set up a compensation operation during run time rollback
|
Modifier and Type | Method | 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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
findpage, getPage, getPageForRedoRecovery, getPageId, getPageVersion, needsRedo, reclaimPrepareLocks, resetPageNumber
protected int recordId
private transient LogicalPageOperation undoOp
LogicalUndoOperation(BasePage page)
LogicalUndoOperation(BasePage page, int recordId, LogicalPageOperation op)
public LogicalUndoOperation()
public int getTypeFormatId()
TypedFormat
getTypeFormatId
in interface TypedFormat
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
writeExternal
in class PageBasicOperation
java.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.Externalizable
readExternal
in class PageBasicOperation
java.io.IOException
- error reading from log streamjava.lang.ClassNotFoundException
- log stream corruptedpublic void restoreMe(Transaction xact, BasePage undoPage, LogInstant CLRinstant, LimitObjectInput in)
PageBasicOperation
restoreMe
in class PageBasicOperation
xact
- 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 Compensation
op
- 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 Loggable
xact
- 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)
PageBasicOperation
releaseResource
in interface Loggable
releaseResource
in class PageBasicOperation
public int group()
PageBasicOperation
group
in interface Loggable
group
in class PageBasicOperation
public final ByteArray getPreparedLog()
PageBasicOperation
getPreparedLog
in interface Loggable
getPreparedLog
in class PageBasicOperation
public java.lang.String toString()
toString
in class PageBasicOperation
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.