java.io.Externalizable
, java.io.Serializable
, Formatable
, TypedFormat
, Loggable
, RePreparable
, Undoable
AllocPageOperation
, ChainAllocPageOperation
, CompressSpacePageOperation
, CopyRowsOperation
, InitPageOperation
, InvalidatePageOperation
, PurgeOperation
, UpdateOperation
abstract class PhysicalPageOperation extends PageBasicOperation implements Undoable
Format ID | no format id, an abstract class. |
Purpose | |
provide methods for physical undo | |
Upgrade | |
Disk Layout | PageBasicOperation the super class |
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK
containerHdl, foundHere, page
Constructor | Description |
---|---|
PhysicalPageOperation() |
|
PhysicalPageOperation(BasePage page) |
Modifier and Type | Method | Description |
---|---|---|
Compensation |
generateUndo(Transaction xact,
LimitObjectInput in) |
Generate a Compensation (PageUndoOperation) that will rollback the
changes of this page operation.
|
abstract void |
undoMe(Transaction xact,
BasePage undoPage,
LogInstant CLRinstant,
LimitObjectInput in) |
Undo the change indicated by this log operation and optional data.
|
doMe, getPreparedLog, group, needsRedo, releaseResource
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
findpage, getPage, getPageForRedoRecovery, getPageId, getPageVersion, getPreparedLog, group, needsRedo, readExternal, reclaimPrepareLocks, releaseResource, resetPageNumber, restoreMe, toString, writeExternal
getTypeFormatId
PhysicalPageOperation(BasePage page)
public PhysicalPageOperation()
public Compensation generateUndo(Transaction xact, LimitObjectInput in) throws StandardException
Note
For operation that needs logical undo, use
LogicalUndoOperation instead This implementation just finds
the same page that the PageOperation was applied on - i.e., only works
for undo on the same page.
During recovery redo, the logging system is page oriented and will use the pageID stored in the PageUndoOperation to find the page. The page will be latched and released using the default findpage and releaseResource - this.releaseResource() will still be called so it has to know not to release any resource it did not acquire.
generateUndo
in interface Undoable
xact
- the transaction doing the compensatingin
- optional inputStandardException
- Standard Derby policy.PageBasicOperation
,
Undoable.generateUndo(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.iapi.services.io.LimitObjectInput)
public abstract void undoMe(Transaction xact, BasePage undoPage, LogInstant CLRinstant, LimitObjectInput in) throws StandardException, java.io.IOException
The available() method of in indicates how much data can be read, i.e. how much was originally written.
xact
- the Transaction doing the rollbackundoPage
- the page to rollback changes onCLRinstant
- the log instant of this (PageUndo) operationin
- optional data for the rollback operationjava.io.IOException
- Can be thrown by any of the methods of ObjectInput.StandardException
- Standard Derby policy.Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.