1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-35124 Set innodb_snapshot_isolation=ON by default

From the very beginning, the default InnoDB transaction isolation level
REPEATABLE READ does not correspond to any well formed definition.
The main issue is the lack of write/write conflict detection.
To fix that and to make REPEATABLE READ correspond to Snapshot Isolation,
b8a6719889 introduced the Boolean
session variable innodb_snapshot_isolation. It was disabled by default
in order not to break any user applications.

In a new major version of MariaDB Server, we had better enable this
parameter by default.
This commit is contained in:
Marko Mäkelä
2024-10-11 15:02:31 +03:00
parent 26dce1cec3
commit 4e1e9ea6f3
28 changed files with 35 additions and 3 deletions

View File

@ -1,5 +1,7 @@
SET @save_timeout = @@GLOBAL.innodb_lock_wait_timeout;
SET GLOBAL innodb_lock_wait_timeout = 1;
SET @save_snapshot_isolation = @@GLOBAL.innodb_snapshot_isolation;
SET GLOBAL innodb_snapshot_isolation = OFF;
SET @save_isolation = @@GLOBAL.transaction_isolation;
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
connection default;
@ -792,3 +794,4 @@ drop user mysqltest@localhost;
SET SQL_MODE=default;
SET GLOBAL innodb_lock_wait_timeout = @save_timeout;
SET GLOBAL transaction_isolation = @save_isolation;
SET GLOBAL innodb_snapshot_isolation = @save_snapshot_isolation;