Class ContainerUndoOperation
- java.lang.Object
-
- org.apache.derby.impl.store.raw.data.ContainerBasicOperation
-
- org.apache.derby.impl.store.raw.data.ContainerUndoOperation
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,Formatable,TypedFormat,Compensation,Loggable
public class ContainerUndoOperation extends ContainerBasicOperation implements Compensation
A Container undo operation rolls back the change of a Container operation- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private ContainerOperationundoOp-
Fields inherited from class org.apache.derby.impl.store.raw.data.ContainerBasicOperation
containerHdl, containerId
-
Fields inherited from interface org.apache.derby.iapi.store.raw.Loggable
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK
-
-
Constructor Summary
Constructors Constructor Description ContainerUndoOperation()ContainerUndoOperation(RawContainerHandle hdl, ContainerOperation op)Set up a Container undo operation during run time rollback
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoMe(Transaction xact, LogInstant instant, LimitObjectInput in)Apply the undo operation, in this implementation of the RawStore, it can only call the undoMe method of undoOpintgetTypeFormatId()Return my format identifier.intgroup()A space operation is a RAWSTORE log recordvoidreadExternal(java.io.ObjectInput in)voidreleaseResource(Transaction xact)Release any resource that was acquired for doMe for rollback or recovery redo.voidsetUndoOp(Undoable op)Set up a Container undo operation during recovery redo.voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class org.apache.derby.impl.store.raw.data.ContainerBasicOperation
findContainer, findContainerForRedoRecovery, getPreparedLog, needsRedo, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.derby.iapi.store.raw.Loggable
getPreparedLog, needsRedo
-
-
-
-
Field Detail
-
undoOp
private transient ContainerOperation undoOp
-
-
Constructor Detail
-
ContainerUndoOperation
public ContainerUndoOperation(RawContainerHandle hdl, ContainerOperation op) throws StandardException
Set up a Container undo operation during run time rollback- Throws:
StandardException- container Handle is not active
-
ContainerUndoOperation
public ContainerUndoOperation()
-
-
Method Detail
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Overrides:
writeExternalin classContainerBasicOperation- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Overrides:
readExternalin classContainerBasicOperation- Throws:
java.io.IOException- cannot read log record from log streamjava.lang.ClassNotFoundException- cannot read ByteArray object
-
getTypeFormatId
public int getTypeFormatId()
Return my format identifier.- Specified by:
getTypeFormatIdin interfaceTypedFormat- Returns:
- The identifier. (A UUID stuffed in an array of 16 bytes).
-
setUndoOp
public void setUndoOp(Undoable op)
Set up a Container undo operation during recovery redo.- Specified by:
setUndoOpin interfaceCompensation- Parameters:
op- the Undoable operation- See Also:
Loggable.needsRedo(org.apache.derby.iapi.store.raw.Transaction)
-
doMe
public final void doMe(Transaction xact, LogInstant instant, LimitObjectInput in) throws StandardException, java.io.IOException
Apply the undo operation, in this implementation of the RawStore, it can only call the undoMe method of undoOp- Specified by:
doMein interfaceLoggable- Parameters:
xact- the Transaction that is doing the rollbackinstant- the log instant of this compenstaion operationin- optional data- Throws:
java.io.IOException- Can be thrown by any of the methods of ObjectInput.StandardException- Standard Derby error policy.- See Also:
ContainerOperation.generateUndo(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.iapi.services.io.LimitObjectInput)
-
releaseResource
public void releaseResource(Transaction xact)
Description copied from interface:LoggableRelease any resource that was acquired for doMe for rollback or recovery redo. This resource is acquired in either generateUndo (if this is a compensation operation during run time rollback or recovery rollback) or in needsRedo (if this is during recovery redo). The run time transaction context should have all the resource already acquird for run time roll forward, so there is no need to releaseResource during run time roll forward. This method must be safe to be called multiple times.- Specified by:
releaseResourcein interfaceLoggable- Overrides:
releaseResourcein classContainerBasicOperation
-
group
public int group()
Description copied from class:ContainerBasicOperationA space operation is a RAWSTORE log record- Specified by:
groupin interfaceLoggable- Overrides:
groupin classContainerBasicOperation
-
-