Class TransactionControl
- java.lang.Object
-
- org.apache.derby.iapi.transaction.TransactionControl
-
public final class TransactionControl extends java.lang.Object
Provide support to transactions to manage sets of actions to perform at transaction boundaries.Add rollback of savepoints? TODO: A
-
-
Field Summary
Fields Modifier and Type Field Description private static int[]
CS_TO_JDBC_ISOLATION_LEVEL_MAP
Map from Derby transaction isolation constants to JDBC constants.private static java.lang.String[][]
CS_TO_SQL_ISOLATION_MAP
Map from Derby transaction isolation constants to text values used in SQL.private java.util.ArrayList<TransactionListener>
listeners
static int
READ_COMMITTED_ISOLATION_LEVEL
static int
READ_UNCOMMITTED_ISOLATION_LEVEL
static int
REPEATABLE_READ_ISOLATION_LEVEL
static int
SERIALIZABLE_ISOLATION_LEVEL
static int
UNSPECIFIED_ISOLATION_LEVEL
-
Constructor Summary
Constructors Constructor Description TransactionControl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(TransactionListener listener)
Add a listener to the curent transaction.static int
isolationMapCount()
Get number of isolation string mappingsstatic java.lang.String[]
isolationTextNames(int derbyIsolationLevel)
Map Derby isolation level to SQL text valuesstatic int
jdbcIsolationLevel(int derbyIsolationLevel)
Map a Derby isolation level to the corresponding JDBC levelvoid
preCommitNotify()
Notify all listeners that a commit is about to occur.void
preRollbackNotify()
Notify all listeners that a rollback is about to occur.void
removeListener(TransactionListener listener)
Remove a listener from the current transaction.
-
-
-
Field Detail
-
UNSPECIFIED_ISOLATION_LEVEL
public static final int UNSPECIFIED_ISOLATION_LEVEL
- See Also:
- Constant Field Values
-
READ_UNCOMMITTED_ISOLATION_LEVEL
public static final int READ_UNCOMMITTED_ISOLATION_LEVEL
- See Also:
- Constant Field Values
-
READ_COMMITTED_ISOLATION_LEVEL
public static final int READ_COMMITTED_ISOLATION_LEVEL
- See Also:
- Constant Field Values
-
REPEATABLE_READ_ISOLATION_LEVEL
public static final int REPEATABLE_READ_ISOLATION_LEVEL
- See Also:
- Constant Field Values
-
SERIALIZABLE_ISOLATION_LEVEL
public static final int SERIALIZABLE_ISOLATION_LEVEL
- See Also:
- Constant Field Values
-
CS_TO_JDBC_ISOLATION_LEVEL_MAP
private static final int[] CS_TO_JDBC_ISOLATION_LEVEL_MAP
Map from Derby transaction isolation constants to JDBC constants.
-
CS_TO_SQL_ISOLATION_MAP
private static final java.lang.String[][] CS_TO_SQL_ISOLATION_MAP
Map from Derby transaction isolation constants to text values used in SQL. Note that the text "REPEATABLE READ" or "RR" maps to SERIALIZABLE_ISOLATION_LEVEL as a hang over from DB2 compatibility and now to preserve backwards compatability.
-
listeners
private final java.util.ArrayList<TransactionListener> listeners
-
-
Method Detail
-
jdbcIsolationLevel
public static int jdbcIsolationLevel(int derbyIsolationLevel)
Map a Derby isolation level to the corresponding JDBC level
-
isolationTextNames
public static java.lang.String[] isolationTextNames(int derbyIsolationLevel)
Map Derby isolation level to SQL text values
-
isolationMapCount
public static int isolationMapCount()
Get number of isolation string mappings
-
addListener
public void addListener(TransactionListener listener)
Add a listener to the curent transaction. A listener may be added multiple times and it will receive multiple callbacks.
-
removeListener
public void removeListener(TransactionListener listener)
Remove a listener from the current transaction.
-
preCommitNotify
public void preCommitNotify() throws StandardException
Notify all listeners that a commit is about to occur. If a listener throws an exception then no further listeners will be notified and a StandardException with rollback severity will be thrown.- Throws:
StandardException
-
preRollbackNotify
public void preRollbackNotify() throws StandardException
Notify all listeners that a rollback is about to occur. If a listener throws an exception then no further listeners will be notified and a StandardException with shutdown database(?) severity will be thrown.- Throws:
StandardException
-
-