summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorJunqi Xie <junqi_xie@outlook.com>2023-03-12 13:55:30 +0800
committerDaniel Black <daniel@mariadb.org>2023-04-12 11:04:29 +1000
commitd20a96f9c1c0240eac2ad8520a04f06e218c4e0a (patch)
tree2a9bfbd680ebe5079c29dbf11225d249ea1d490b /storage
parent4472a7b4ff79853d931288c1ab8d49bf130e3908 (diff)
downloadmariadb-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.py6
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")