[#1950] Adds support for TRANSACTION_CURSOR_STABILITY and TRANSACTION_LAST_COMMITTED (#1952)

TRANSACTION_LAST_COMMITTED - This allows a readonly user to access a row and read the last commited data while Informix has an open lock against the data.
Unlike TRANSACTION_READ_UNCOMMITTED which would also accomplish the same but would end up allowing dirty reads. This would lead to us reading data that's potentially either rolledback or never actually commited.

TRANSACTION_CURSOR_STABILITY - Cursor stability will place a lock on a row as it's fetched which ensures that the data doesn't change while the program reads the data.
Documentation for cursor stability can be found here https://www.ibm.com/docs/en/informix-servers/12.10?topic=level-informix-cursor-stability-isolation

Documentation on Informix transaction isolation levels are here https://www.ibm.com/docs/en/informix-servers/12.10?topic=database-informix-environment-variables-informix-jdbc-driver

Co-authored-by: Liam Sorsby <liam.sorsby@skybettingandgaming.com>
pull/1752/head^2
Liam Sorsby 1 year ago committed by GitHub
parent 43d5231c96
commit d15560e9d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -21,7 +21,9 @@ public enum IsolationLevel
TRANSACTION_NONE(0),
TRANSACTION_READ_UNCOMMITTED(1),
TRANSACTION_READ_COMMITTED(2),
TRANSACTION_CURSOR_STABILITY(3),
TRANSACTION_REPEATABLE_READ(4),
TRANSACTION_LAST_COMMITTED(5),
TRANSACTION_SERIALIZABLE(8),
TRANSACTION_SQL_SERVER_SNAPSHOT_ISOLATION_LEVEL(4096);

Loading…
Cancel
Save