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/suite/binlog | |
| 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/suite/binlog')
| -rw-r--r-- | mysql-test/suite/binlog/r/binlog_stm_do_db.result | 6 | ||||
| -rw-r--r-- | mysql-test/suite/binlog/t/binlog_stm_do_db.test | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/mysql-test/suite/binlog/r/binlog_stm_do_db.result b/mysql-test/suite/binlog/r/binlog_stm_do_db.result index c39404aef55..391158b1723 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_do_db.result +++ b/mysql-test/suite/binlog/r/binlog_stm_do_db.result @@ -1,6 +1,6 @@ RESET MASTER; -SET @old_isolation_level= @@session.tx_isolation; -SET @@session.tx_isolation= 'READ-COMMITTED'; +SET @old_isolation_level= @@session.transaction_isolation; +SET @@session.transaction_isolation= 'READ-COMMITTED'; CREATE DATABASE b42829; use b42829; CREATE TABLE t1 (x int, y int) engine=InnoDB; @@ -43,4 +43,4 @@ master-bin.000001 # Gtid # # GTID #-#-# master-bin.000001 # Query # # use `b42829`; CREATE TABLE t2 (x int, y int) engine=InnoDB DROP DATABASE b42829; DROP DATABASE b42829_filtered; -SET @@session.tx_isolation= @old_isolation_level; +SET @@session.transaction_isolation= @old_isolation_level; diff --git a/mysql-test/suite/binlog/t/binlog_stm_do_db.test b/mysql-test/suite/binlog/t/binlog_stm_do_db.test index 3ed1734f18d..c83753eb68d 100644 --- a/mysql-test/suite/binlog/t/binlog_stm_do_db.test +++ b/mysql-test/suite/binlog/t/binlog_stm_do_db.test @@ -19,7 +19,7 @@ # # The test is implemented as follows: # -# i) set tx_isolation to read-committed. +# i) set transaction_isolation to read-committed. # # ii) create two databases (one filtered other not - using # binlog-do-db) @@ -38,8 +38,8 @@ -- source include/have_innodb.inc -- source include/have_binlog_format_statement.inc RESET MASTER; # clear up binlogs -SET @old_isolation_level= @@session.tx_isolation; -SET @@session.tx_isolation= 'READ-COMMITTED'; +SET @old_isolation_level= @@session.transaction_isolation; +SET @@session.transaction_isolation= 'READ-COMMITTED'; -- let $engine= InnoDB -- let $filtered= b42829_filtered @@ -87,4 +87,4 @@ source include/show_binlog_events.inc; -- eval DROP DATABASE $not_filtered -- eval DROP DATABASE $filtered -SET @@session.tx_isolation= @old_isolation_level; +SET @@session.transaction_isolation= @old_isolation_level; |
