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 /storage | |
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 'storage')
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb_stress/t/load_generator.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/storage/rocksdb/mysql-test/rocksdb_stress/t/load_generator.py b/storage/rocksdb/mysql-test/rocksdb_stress/t/load_generator.py index 91dd9e90df8..eef50010d8c 100644 --- a/storage/rocksdb/mysql-test/rocksdb_stress/t/load_generator.py +++ b/storage/rocksdb/mysql-test/rocksdb_stress/t/load_generator.py @@ -230,14 +230,14 @@ class WorkerThread(threading.Thread): return self.con is None def get_isolation_level(self): - execute(self.cur, "SELECT @@SESSION.tx_isolation") + execute(self.cur, "SELECT @@SESSION.transaction_isolation") if self.cur.rowcount != 1: - raise TestError("Unable to retrieve tx_isolation") + raise TestError("Unable to retrieve transaction_isolation") return self.cur.fetchone()[0] def set_isolation_level(self, isolation_level, persist = False): if isolation_level is not None: - execute(self.cur, "SET @@SESSION.tx_isolation = '%s'" % isolation_level) + execute(self.cur, "SET @@SESSION.transaction_isolation = '%s'" % isolation_level) if self.cur.rowcount != 0: raise TestError("Unable to set the isolation level to %s") |