tdbc::mysql

View Ticket
Login
Ticket Hash: 9bf0e3e2e71a07d57923a5b789cd78f8ac925fbc
Title: -isolation configuration option
Status: Closed Type: Code_Defect
Severity: Severe Priority: Immediate
Subsystem: not_specified Resolution: Fixed
Last Modified: 2022-01-16 17:02:35
Version Found In: 1.1.1 (latest trunk)
User Comments:
anonymous added on 2020-02-16 10:59:28:
Currently the config handling for -isolation uses SQL commands like:
SET TRANSACTION ISOLATION LEVEL READ SERIALIZABLE
to effect the change.  This only sets the transaction isolation level for the
next transaction, after which it reverts to whatever the current session
isolation level is.  To set the session isolation level instead (which persists
on this connection until changed to something else), it should use
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE
instead.

This fixes the failure on test tdbc::mysql-19.11, which uses
SELECT '', LCASE(REPLACE(@@TX_ISOLATION, '-', ''))
to interrogate the current session isolation level - @@tx_isolation reports the
session transaction isolation level, and there is no way to report on the level
set for the next transaction (which is what
"SET TRANSACTION ISOLATION LEVEL foo" does)

jan.nijtmans added on 2022-01-16 17:02:35:

Fixed [e5b2587e70|here]. Thanks for the report!