Transactions
Firebird supports three transaction isolation levels:
-
READ COMMITTED
-
SNAPSHOT (“concurrency” or “repeatable read”)
-
SNAPSHOT TABLE STABILITY “consistency”)
The default isolation level of the ODBC/JDBC driver is READ COMMITTED, which maps with read committed in other database systems.Firebird’s other isolation levels do not map so easily.In the ODBC/JDBC driver, SNAPSHOT maps to REPEATABLE READ and SNAPSHOT TABLE STABILITY maps to SERIALIZABLE, with some tweaks.
Since version 2.0, the driver has been able to support every transaction configuration that Firebird can support, including table reservation (“table blocking”).That was achieved by incorporating the so-called “EmbeddedSQL” syntax that is native to the old pre-compiler, gpre, to prepare calls to the ODBC API by the function SQLExecDirect
.