mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 01:04:19 +01:00
4e1e9ea6f3
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.
30 lines
1.1 KiB
Text
30 lines
1.1 KiB
Text
# t/concurrent_innodb_unsafelog.test
|
|
#
|
|
# Concurrent InnoDB tests
|
|
#
|
|
# Last update:
|
|
# 2006-07-26 ML test refactored (MySQL 5.1)
|
|
# main code t/innodb_concurrent.test -> include/concurrent.inc
|
|
# new wrapper t/concurrent_innodb.test
|
|
# 2008-06-03 KP test refactored; removed name locks, added comments.
|
|
# renamed wrapper t/concurrent_innodb.test ->
|
|
# t/concurrent_innodb_unsafelog.test
|
|
# new wrapper t/concurrent_innodb_safelog.test
|
|
#
|
|
|
|
--source include/have_innodb.inc
|
|
|
|
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
|
|
--source include/concurrent.inc
|
|
--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;
|