Class ContainerUndoOperation
java.lang.Object
org.apache.derby.impl.store.raw.data.ContainerBasicOperation
org.apache.derby.impl.store.raw.data.ContainerUndoOperation
- All Implemented Interfaces:
Externalizable, Serializable, Formatable, TypedFormat, Compensation, Loggable
A Container undo operation rolls back the change of a Container operation
- See Also:
-
Field Summary
FieldsFields inherited from class ContainerBasicOperation
containerHdl, containerIdFields inherited from interface Loggable
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK -
Constructor Summary
ConstructorsConstructorDescriptionSet up a Container undo operation during run time rollback -
Method Summary
Modifier and TypeMethodDescriptionfinal 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 undoOpintReturn my format identifier.intgroup()A space operation is a RAWSTORE log recordvoidvoidreleaseResource(Transaction xact) Release any resource that was acquired for doMe for rollback or recovery redo.voidSet up a Container undo operation during recovery redo.voidMethods inherited from class ContainerBasicOperation
findContainer, findContainerForRedoRecovery, getPreparedLog, needsRedo, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Loggable
getPreparedLog, needsRedo
-
Field Details
-
undoOp
-
-
Constructor Details
-
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 Details
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classContainerBasicOperation- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classContainerBasicOperation- Throws:
IOException- cannot read log record from log streamClassNotFoundException- 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
Set up a Container undo operation during recovery redo.- Specified by:
setUndoOpin interfaceCompensation- Parameters:
op- the Undoable operation- See Also:
-
doMe
public final void doMe(Transaction xact, LogInstant instant, LimitObjectInput in) throws StandardException, 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:
IOException- Can be thrown by any of the methods of ObjectInput.StandardException- Standard Derby error policy.- See Also:
-
releaseResource
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
-