mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +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:
@ -18,6 +18,8 @@ let $engine_type= InnoDB;
|
||||
|
||||
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;
|
||||
--disable_service_connection
|
||||
@ -25,3 +27,4 @@ SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||
--enable_service_connection
|
||||
SET GLOBAL innodb_lock_wait_timeout = @save_timeout;
|
||||
SET GLOBAL transaction_isolation = @save_isolation;
|
||||
SET GLOBAL innodb_snapshot_isolation = @save_snapshot_isolation;
|
||||
|
Reference in New Issue
Block a user