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.

* not supported directly; use TRANSACTION_CONSISTENT_READ instead.

ID JDBC Constant NuoDB JDBC Driver Support Description (Reads only) Description (Updates)

7

com.nuodb.jdbc.TransactionIsolation.TRANSACTION_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.