You are here: SQL Development > Working with Transactions > Supported Transaction Isolation Levels > JDBC Transaction Isolation Levels Supported by NuoDB

JDBC Transaction Isolation Levels Supported by NuoDB

NuoDB and java.sql.Connection Transaction Isolation Levels.

Note

Different NuoDB drivers support the isolation levels in different ways. Consult the documentation for each driver you are using to find which isolation levels are supported by that driver.

The JDBC interface provides five transaction isolation levels. NuoDB does not support all of the levels. NuoDB also supports two additional levels that are not in the JDBC standard. The following tables describe the levels that are supported by NuoDB.

 

ID JDBC Constant NuoDB JDBC Driver Support Description (Reads only) Description (Updates)
0 Connection.TRANSACTION_NONE no No Transactions.  
1 Connection.TRANSACTION_READ_UNCOMMITTED no Dirty reads, non-repeatable reads and phantom reads can occur.  
2 Connection.TRANSACTION_READ_COMMITTED yes Dirty reads are prevented; non-repeatable reads and phantom reads can occur. Blocks on conflict; waits for other transaction to finish.
4 Connection.TRANSACTION_REPEATABLE_READ * no Dirty reads are prevented; non-repeatable reads happen after writes; phantom reads can occur.  
8 Connection.TRANSACTION_SERIALIZABLE yes
(Becomes TRANSACTION_CONSISTENT_READ in NuoDB)
Dirty reads, non-repeatable reads and phantom reads are prevented. No Blocking; update conflicts may occur.

Note: * not supported directly; use TRANSACTION_CONSISTENT_READ instead.

ID JDBC Constant NuoDB JDBC Driver Support Description (Reads only) Description (Updates)
5 com.nuodb.jdbc.
TransactionIsolation.
TRANSACTION_WRITE_
COMMITTED
yes NuoDB only.
Dirty reads are prevented; non-repeatable reads and phantom reads can occur in SELECT … FOR UPDATE queries
Blocks on conflict; waits for other transaction to finish.
7 com.nuodb.jdbc.
TransactionIsolation
_CONSISTENT_READ
yes NuoDB only. Native level.
This is equivalent to snapshot isolation.
Repeatable reads, no phantoms, but some write anomalies that would not occur if the transactions were run in a single series.
No blocking; update conflicts may occur.