The transaction will notify any Observer's just before the transaction is committed, aborted or a rollback to savepoint occurs. The argument passed to the update() method of the Observer's will be one of
java.util.Observer
| Modifier and Type | Field and Description |
|---|---|
| public static final Integer | |
| public static final Integer | |
| public static final Integer | |
| protected StandardException | |
| public static final Integer |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public abstract void | addUpdateTransaction(int transactionStatus)
Add this raw transaction on to the list of update transaction |
| public abstract boolean | Returns: true if the transaction blocked the backup. false otherwise.if true, waits until the transaction
can block the backup. wait)Make the transaction block the online backup. |
| public void | checkLogicalOperationOk()
Check to see if a logical operation is allowed by this transaction, throws a TransactionExceotion if it isn't. |
| public abstract void | checkpointInRollForwardRecovery(LogInstant
The LogInstant of the checkpoint cinstant, long Redo Low Water Mark in the check point record redoLWM, long Undo Low Water Mark in the checkpoint undoLWM)Redo a checkpoint during rollforward recovery. |
| public abstract DataFactory | |
| public abstract LogInstant | |
| public abstract GlobalTransactionId | getGlobalId()
Redeclares org. Get the shortId of this transaction. |
| public abstract TransactionId | |
| public abstract LogInstant | |
| public abstract LockFactory | |
| public abstract DynamicByteArrayOutputStream | |
| public abstract LogFactory | |
| public abstract boolean | |
| public abstract boolean | |
| public abstract boolean | |
| public abstract boolean | Returns: true if this transaction is blocking the backup, otherwise falseCheck if the transaction is blocking the backup ? |
| public abstract void | logAndUndo(Compensation
the Compensation Operation compensation, LogInstant the LogInstant of the Loggable Operation this
compensation operation is going to roll back undoInstant, LimitObjectInput optional data for the rollback operation in)Log a compensation operation and then action it in the context of this transaction. |
| public void | notifyObservers(Object
Extra information to be passed to the observer's callback method. arg)Overrides org. Allow my users to notigy my observers. |
| public abstract RawContainerHandle | openDroppedContainer(ContainerKey containerId, LockingPolicy locking)
Open a container that may be dropped - use only by logging and recovery. |
| public abstract void | |
| public boolean | |
| public abstract void | |
| public abstract void | reCreateContainerForRedoRecovery(long segmentId, long containerId, ByteArray containerInfo)
Recreate a container during redo recovery. |
| public abstract void | |
| public abstract void | |
| public abstract void | setFirstLogInstant(LogInstant instant)
Set the log instant for the first log record written by this transaction. |
| public abstract void | setLastLogInstant(LogInstant instant)
Set the log instant for the last log record written by this transaction. |
| public void | setObserverException(StandardException se)
Allow an Observer to indicate an exception to the transaction that is raised in its update() method. |
| public abstract void | setTransactionId(Loggable beginXact, TransactionId shortId)
Set the transactionId (Global and internal) of this transaction using a log record that contains the Global id |
| public abstract RawTransaction | |
| protected abstract int | statusForBeginXactLog()
Status that needs to go into the begin transaction log record, if there is one, to help with recovery |
| protected abstract int | statusForEndXactLog()
Status that needs to go into the end transaction log record, if there is one, to help with recovery |
| ABORT | back to summary |
|---|---|
| public static final Integer ABORT | |
| COMMIT | back to summary |
|---|---|
| public static final Integer COMMIT | |
| LOCK_ESCALATE | back to summary |
|---|---|
| public static final Integer LOCK_ESCALATE | |
| observerException | back to summary |
|---|---|
| protected StandardException observerException | |
| SAVEPOINT_ROLLBACK | back to summary |
|---|---|
| public static final Integer SAVEPOINT_ROLLBACK | |
| RawTransaction | back to summary |
|---|---|
| public RawTransaction() | |
| addUpdateTransaction | back to summary |
|---|---|
| public abstract void addUpdateTransaction(int transactionStatus) Add this raw transaction on to the list of update transaction | |
| blockBackup | back to summary |
|---|---|
| public abstract boolean blockBackup(boolean wait) throws StandardException Make the transaction block the online backup.
| |
| checkLogicalOperationOk | back to summary |
|---|---|
| public void checkLogicalOperationOk() throws StandardException Check to see if a logical operation is allowed by this transaction, throws a TransactionExceotion if it isn't. This implementation allows logical operations. Transactions that need to disallow logical operations should hide this method.
| |
| checkpointInRollForwardRecovery | back to summary |
|---|---|
| public abstract void checkpointInRollForwardRecovery(LogInstant cinstant, long redoLWM, long undoLWM) throws StandardException Redo a checkpoint during rollforward recovery.
| |
| getDataFactory | back to summary |
|---|---|
| public abstract DataFactory getDataFactory() Get the data factory to be used during this transaction. | |
| getFirstLogInstant | back to summary |
|---|---|
| public abstract LogInstant getFirstLogInstant() Get the log instant for the first log record written by this transaction. | |
| getGlobalId | back to summary |
|---|---|
| public abstract GlobalTransactionId getGlobalId() Redeclares org. Get the shortId of this transaction. May return null if transactio has no ID. | |
| getId | back to summary |
|---|---|
| public abstract TransactionId getId() Get the shortId of this transaction. May return null if transactio has no ID. | |
| getLastLogInstant | back to summary |
|---|---|
| public abstract LogInstant getLastLogInstant() Get the log instant for the last log record written by this transaction. If the transaction is unclear what its last log instant is, than it may return null. | |
| getLockFactory | back to summary |
|---|---|
| public abstract LockFactory getLockFactory() Get the lock factory to be used during this transaction. | |
| getLogBuffer | back to summary |
|---|---|
| public abstract DynamicByteArrayOutputStream getLogBuffer() Get the log buffer to be used during this transaction. | |
| getLogFactory | back to summary |
|---|---|
| public abstract LogFactory getLogFactory() Get the log factory to be used during this transaction. | |
| handlesPostTerminationWork | back to summary |
|---|---|
| public abstract boolean handlesPostTerminationWork() Can this transaction handles post termination work | |
| inAbort | back to summary |
|---|---|
| public abstract boolean inAbort() Is the transaction in the middle of an abort. | |
| inRollForwardRecovery | back to summary |
|---|---|
| public abstract boolean inRollForwardRecovery() Retunrs true if the transaction is part of rollforward recovery | |
| isBlockingBackup | back to summary |
|---|---|
| public abstract boolean isBlockingBackup() Check if the transaction is blocking the backup ?
| |
| logAndUndo | back to summary |
|---|---|
| public abstract void logAndUndo(Compensation compensation, LogInstant undoInstant, LimitObjectInput in) throws StandardException Log a compensation operation and then action it in the context of this transaction. The CompensationOperation is logged in the transaction log file and then its doMe method is called to perform the required change. This compensation operation will rollback the change that was done by the Loggable Operation at undoInstant.
| |
| notifyObservers | back to summary |
|---|---|
| public void notifyObservers(Object arg) Overrides org. Allow my users to notigy my observers.
| |
| openDroppedContainer | back to summary |
|---|---|
| public abstract RawContainerHandle openDroppedContainer(ContainerKey containerId, LockingPolicy locking) throws StandardException Open a container that may be dropped - use only by logging and recovery. During recovery redo, a log record may refer to a container that has long been dropped. This interface is provided so a dropped container may be opened. If the container has been dropped and is known to be committed, then even if we open the dropped container with forUpdate true, the container will be silently opened as read only. Logging and recovery code always check for committed drop status. Anybody else wanting to use this interface must keep this in mind.
| |
| prepareTransaction | back to summary |
|---|---|
| public abstract void prepareTransaction() Change the state of transaction in table to prepare. | |
| recoveryRollbackFirst | back to summary |
|---|---|
| public boolean recoveryRollbackFirst() Return true if this transaction should be rolled back first in recovery. This implementation returns false. Transactions that need to rollback first during recovery should hide this method. | |
| recoveryTransaction | back to summary |
|---|---|
| public abstract void recoveryTransaction() Make this transaction aware that it is being used by recovery | |
| reCreateContainerForRedoRecovery | back to summary |
|---|---|
| public abstract void reCreateContainerForRedoRecovery(long segmentId, long containerId, ByteArray containerInfo) throws StandardException Recreate a container during redo recovery. Used during redo recovery when processing log records trying to create a container, but no container is found in the db.
| |
| removeUpdateTransaction | back to summary |
|---|---|
| public abstract void removeUpdateTransaction() Remove this raw transaction from the list of update transaction | |
| reprepare | back to summary |
|---|---|
| public abstract void reprepare() throws StandardException During recovery re-prepare a transaction. After redo() and undo(), this routine is called on all outstanding in-doubt (prepared) transactions. This routine re-acquires all logical write locks for operations in the xact, and then modifies the transaction table entry to make the transaction look as if it had just been prepared following startup after recovery.
| |
| setFirstLogInstant | back to summary |
|---|---|
| public abstract void setFirstLogInstant(LogInstant instant) Set the log instant for the first log record written by this transaction. | |
| setLastLogInstant | back to summary |
|---|---|
| public abstract void setLastLogInstant(LogInstant instant) Set the log instant for the last log record written by this transaction. | |
| setObserverException | back to summary |
|---|---|
| public void setObserverException(StandardException se) Allow an Observer to indicate an exception to the transaction that is raised in its update() method. | |
| setTransactionId | back to summary |
|---|---|
| public abstract void setTransactionId(Loggable beginXact, TransactionId shortId) Set the transactionId (Global and internal) of this transaction using a log record that contains the Global id | |
| startNestedTopTransaction | back to summary |
|---|---|
| public abstract RawTransaction startNestedTopTransaction() throws StandardException Start a nested top transaction. A nested top transaction behaves exactly like a user transaction. Nested top transaction allow system type work to proceed in a separate transaction to the current user transaction and be committed independently of the user transaction (usually before the user transaction). Only one nested top transaction can be active in a context at any one time. After a commit the transaction may be re-used. A nested top transaction conflicts on the logical locks of its "parent" transaction.
| |
| statusForBeginXactLog | back to summary |
|---|---|
| protected abstract int statusForBeginXactLog() Status that needs to go into the begin transaction log record, if there is one, to help with recovery | |
| statusForEndXactLog | back to summary |
|---|---|
| protected abstract int statusForEndXactLog() Status that needs to go into the end transaction log record, if there is one, to help with recovery | |