Accept transaction isolation levels, but always use REPEATABLE READ - #3063
Conversation
… READ (same behavior as Dolt)
|
|
SummaryCoverage spans transaction syntax and isolation modes, read-only/read-write behavior, commit and rollback data visibility, cross-session consistency, and invalid or repeated transaction requests. The normal transaction flows are healthy, while an edge-case retry path exposes unsafe state changes that can prevent an expected write from being saved. Not safe to merge yet — an attributable high-severity failure allows a repeated transaction request to silently replace an active writable state with read-only behavior, causing writes to be rejected and user changes to be lost. The issue affects transaction integrity and requires correction before merging. Tests run by ItoTip Reply with @itoqa to send us feedback on this test run. |
|
Diff SummaryCoverage spans normal transaction commits and rollbacks, data visibility, isolation and read/write modes, session readiness, and nested or malformed transaction requests across ordinary and prepared execution paths. Most exercised behaviors remain healthy, but a transaction-state edge case compromises read-only enforcement. Not safe to merge yet — a PR-attributable high-severity failure allows writes in a transaction expected to be read-only after rollback, undermining data-protection guarantees. The remaining exercised transaction behaviors pass, but this is a merge blocker. Tests run by ItoTip Reply with @itoqa to send us feedback on this test run. |
… a transaction (found by ItoQA)
|
Diff SummaryThe run covers core transaction behavior across read-only and read-write flows, rollback and savepoint recovery, nested and multi-statement requests, simple and prepared interactions, commit visibility, and rejection of unsupported options. It exercises both normal business flows and edge cases around session state and transaction isolation, with overall behavior matching expectations except for a separate isolation-semantics observation. Safe to merge — the only failure is an unrelated, medium-severity isolation behavior finding explicitly not attributable to this PR, with no regressions or PR-owned failures identified. It is a flag for later rather than a merge blocker. Tests run by ItoAdditional Findings DetailsThese findings are unrelated to the current changes but were observed during testing. 🟡 Isolation setting is ignored after rollback
Evidence PackageTip Reply with @itoqa to send us feedback on this test run. |
|


Follow Dolt's existing behavior to allow clients to specify a transaction isolation level, but still always use
REPEATABLE READ.Also includes an update to the Doltgres SQL parser, to allow us to differentiate between specified isolation levels in the future.