Class EncryptContainerUndoOperation
- java.lang.Object
-
- org.apache.derby.impl.store.raw.data.EncryptContainerUndoOperation
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,Formatable
,TypedFormat
,Compensation
,Loggable
public class EncryptContainerUndoOperation extends java.lang.Object implements Compensation
A Encrypt Container undo operation rolls back the change of a Encrypt Container operation- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private EncryptContainerOperation
undoOp
-
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 EncryptContainerUndoOperation()
EncryptContainerUndoOperation(EncryptContainerOperation op)
Set up a Encrypt Container undo operation during run time rollback
-
Method Summary
All Methods Instance Methods Concrete Methods 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 undoOpByteArray
getPreparedLog()
the default for prepared log is always null for all the operations that don't have optionalData.int
getTypeFormatId()
Return my format identifier.int
group()
Get the loggable's group valueboolean
needsRedo(Transaction xact)
Check if this operation needs to be redone during recovery redo.void
readExternal(java.io.ObjectInput in)
void
releaseResource(Transaction xact)
Release any resource that was acquired for doMe for rollback or recovery redo.void
setUndoOp(Undoable op)
Set up a Container undo operation during recovery redo.java.lang.String
toString()
DEBUG: Print self.void
writeExternal(java.io.ObjectOutput out)
-
-
-
Field Detail
-
undoOp
private transient EncryptContainerOperation undoOp
-
-
Constructor Detail
-
EncryptContainerUndoOperation
public EncryptContainerUndoOperation(EncryptContainerOperation op)
Set up a Encrypt Container undo operation during run time rollback- Parameters:
op
- Encrypt contaner operatation that is to be undone.
-
EncryptContainerUndoOperation
public EncryptContainerUndoOperation()
-
-
Method Detail
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- 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:
getTypeFormatId
in 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:
setUndoOp
in interfaceCompensation
- Parameters:
op
- the Undoable operation- See Also:
Loggable.needsRedo(org.apache.derby.iapi.store.raw.Transaction)
-
needsRedo
public boolean needsRedo(Transaction xact) throws StandardException
Check if this operation needs to be redone during recovery redo. Returns true if this op should be redone during recovery redo,- Specified by:
needsRedo
in interfaceLoggable
- Parameters:
xact
- the transaction that is doing the rollback- Returns:
- true, if this operation needs to be redone during recovery.
- Throws:
StandardException
- Standard Derby error policy- See Also:
Loggable.releaseResource(org.apache.derby.iapi.store.raw.Transaction)
-
getPreparedLog
public ByteArray getPreparedLog()
the default for prepared log is always null for all the operations that don't have optionalData. If an operation has optional data, the operation need to prepare the optional data for this method. Encrypt Conatainer Undo Operation has no optional data to write out- Specified by:
getPreparedLog
in interfaceLoggable
-
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:
doMe
in 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 policy.- See Also:
EncryptContainerOperation.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:Loggable
Release 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:
releaseResource
in interfaceLoggable
-
group
public int group()
Description copied from interface:Loggable
Get the loggable's group value
-
toString
public java.lang.String toString()
DEBUG: Print self.- Overrides:
toString
in classjava.lang.Object
-
-