Top Description Fields Constructors Methods
org.apache.derby.impl.store.raw.xact

pack-priv final Class XactContext

extends ContextImpl
Class Inheritance
Imports
org.apache.derby.shared.common.reference.SQLState, org.apache.derby.iapi.services.context.ContextImpl, .ContextManager, org.apache.derby.shared.common.sanity.SanityManager, org.apache.derby.iapi.store.raw.RawStoreFactory, org.apache.derby.iapi.store.raw.xact.RawTransaction, org.apache.derby.shared.common.error.StandardException, .ExceptionSeverity

The context associated with the transaction. This object stores the context associated with the raw store transaction on the stack. It stores info about the transaction opened within a context manager (ie. typically a single user) for a single RawStoreFactory.

Field Summary

Modifier and TypeField and Description
private boolean
private RawStoreFactory
private RawTransaction

Constructor Summary

AccessConstructor and Description
pack-priv
XactContext(ContextManager cm, String name, Xact xact, boolean abortAll, RawStoreFactory factory)

Method Summary

Modifier and TypeMethod and Description
public void
cleanupOnError(Throwable
The original error
error
)

Implements org.apache.derby.iapi.services.context.Context.cleanupOnError.

Contexts will be passed errors that are caught by the outer system when they are serious enough to require corrective action.

pack-priv RawStoreFactory
pack-priv RawTransaction
pack-priv void
Inherited from org.apache.derby.iapi.services.context.ContextImpl:
appendErrorInfogetContextManagergetIdNameisLastHandlerpopMepushMe

Field Detail

abortAllback to summary
private boolean abortAll
factoryback to summary
private RawStoreFactory factory
xactback to summary
private RawTransaction xact

Constructor Detail

XactContextback to summary
pack-priv XactContext(ContextManager cm, String name, Xact xact, boolean abortAll, RawStoreFactory factory)

Method Detail

cleanupOnErrorback to summary
public void cleanupOnError(Throwable error) throws StandardException

Implements org.apache.derby.iapi.services.context.Context.cleanupOnError.

Doc from org.apache.derby.iapi.services.context.Context.cleanupOnError.

Contexts will be passed errors that are caught by the outer system when they are serious enough to require corrective action. They will be told what the error is, so that they can react appropriately. Most of the time, the contexts will react by either doing nothing or by removing themselves from the context manager. If there are no other references to the context, removing itself from the manager equates to freeing it.
On an exception that is session severity or greater the Context must push itself off the stack. This is to ensure that after a session has been closed there are no Contexts on the stack that potentially hold references to objects, thus delaying their garbage collection.

Contexts must release all their resources before removing themselves from their context manager.

The context manager will "unwind" the contexts during cleanup in the reverse order they were placed on its global stack.

If error is an instance of StandardException then an implementation of this method may throw a new exception if and only if the new exception is an instance of StandardException that is more severe than the original error or the new exception is a not an instance of StandardException (e.g java.lang.NullPointerException).

Parameters
error:Throwable

The original error

Exceptions
StandardException:
Standard Derby error policy
getFactoryback to summary
pack-priv RawStoreFactory getFactory()
getTransactionback to summary
pack-priv RawTransaction getTransaction()
substituteTransactionback to summary
pack-priv void substituteTransaction(Xact newTran)