diff options
author | Junqi Xie <junqi_xie@outlook.com> | 2023-03-12 13:55:30 +0800 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2023-04-12 11:04:29 +1000 |
commit | d20a96f9c1c0240eac2ad8520a04f06e218c4e0a (patch) | |
tree | 2a9bfbd680ebe5079c29dbf11225d249ea1d490b /mysql-test/include | |
parent | 4472a7b4ff79853d931288c1ab8d49bf130e3908 (diff) | |
download | mariadb-git-d20a96f9c1c0240eac2ad8520a04f06e218c4e0a.tar.gz |
MDEV-21921 Make transaction_isolation and transaction_read_only into system variables
In MariaDB, we have a confusing problem where:
* The transaction_isolation option can be set in a configuration file, but it cannot be set dynamically.
* The tx_isolation system variable can be set dynamically, but it cannot be set in a configuration file.
Therefore, we have two different names for the same thing in different contexts. This is needlessly confusing, and it complicates the documentation. The same thing applys for transaction_read_only.
MySQL 5.7 solved this problem by making them into system variables. https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-20.html
This commit takes a similar approach by adding new system variables and marking the original ones as deprecated. This commit also resolves some legacy problems related to SET STATEMENT and transaction_isolation.
Diffstat (limited to 'mysql-test/include')
-rw-r--r-- | mysql-test/include/concurrent.inc | 4 | ||||
-rw-r--r-- | mysql-test/include/mix2.inc | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/mysql-test/include/concurrent.inc b/mysql-test/include/concurrent.inc index 1d65549f8f4..f9058c069ca 100644 --- a/mysql-test/include/concurrent.inc +++ b/mysql-test/include/concurrent.inc @@ -30,7 +30,7 @@ SET SQL_MODE=""; # # Show prerequisites for this test. # -SELECT @@global.tx_isolation; +SELECT @@global.transaction_isolation; # # With the transaction isolation level REPEATABLE READ (the default) # or SERIALIZEBLE, InnoDB takes "next-key locks"/"gap locks". This means it @@ -43,7 +43,7 @@ SELECT @@global.tx_isolation; # We use the variable $keep_locks to set the expectations for # lock wait timeouts accordingly. # -let $keep_locks= `SELECT @@global.tx_isolation IN ('REPEATABLE-READ','SERIALIZABLE')`; +let $keep_locks= `SELECT @@global.transaction_isolation IN ('REPEATABLE-READ','SERIALIZABLE')`; --echo # keep_locks == $keep_locks # diff --git a/mysql-test/include/mix2.inc b/mysql-test/include/mix2.inc index 6a6fbcbc2ae..5ea4b79531c 100644 --- a/mysql-test/include/mix2.inc +++ b/mysql-test/include/mix2.inc @@ -776,7 +776,7 @@ eval create table t1 (id int unsigned not null auto_increment, code tinyint unsi BEGIN; SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; -SELECT @@tx_isolation,@@global.tx_isolation; +SELECT @@transaction_isolation,@@global.transaction_isolation; insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'); select id, code, name from t1 order by id; COMMIT; |