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/sys_vars/r/tx_read_only_basic.result | |
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/sys_vars/r/tx_read_only_basic.result')
-rw-r--r-- | mysql-test/suite/sys_vars/r/tx_read_only_basic.result | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/mysql-test/suite/sys_vars/r/tx_read_only_basic.result b/mysql-test/suite/sys_vars/r/tx_read_only_basic.result deleted file mode 100644 index 3750145083f..00000000000 --- a/mysql-test/suite/sys_vars/r/tx_read_only_basic.result +++ /dev/null @@ -1,181 +0,0 @@ -#################################################################### -# START OF tx_read_only TESTS # -#################################################################### -############################################################# -# Save initial value # -############################################################# -SET @start_global_value = @@global.tx_read_only; -SELECT @start_global_value; -@start_global_value -0 -SET @start_session_value = @@session.tx_read_only; -SELECT @start_session_value; -@start_session_value -0 -######################################################################## -# Display the DEFAULT value of tx_read_only # -######################################################################## -SET @@global.tx_read_only = ON; -SET @@global.tx_read_only = DEFAULT; -SELECT @@global.tx_read_only; -@@global.tx_read_only -0 -SET @@session.tx_read_only = ON; -SET @@session.tx_read_only = DEFAULT; -SELECT @@session.tx_read_only; -@@session.tx_read_only -0 -############################################################################## -# Change the value of tx_read_only to a valid value for GLOBAL Scope # -############################################################################## -SET @@global.tx_read_only = ON; -SELECT @@global.tx_read_only; -@@global.tx_read_only -1 -SET @@global.tx_read_only = OFF; -SELECT @@global.tx_read_only; -@@global.tx_read_only -0 -SET @@global.tx_read_only = 0; -SELECT @@global.tx_read_only; -@@global.tx_read_only -0 -SET @@global.tx_read_only = 1; -SELECT @@global.tx_read_only; -@@global.tx_read_only -1 -SET @@global.tx_read_only = TRUE; -SELECT @@global.tx_read_only; -@@global.tx_read_only -1 -SET @@global.tx_read_only = FALSE; -SELECT @@global.tx_read_only; -@@global.tx_read_only -0 -############################################################################### -# Change the value of tx_read_only to a valid value for SESSION Scope # -############################################################################### -SET @@session.tx_read_only = ON; -SELECT @@session.tx_read_only; -@@session.tx_read_only -1 -SET @@session.tx_read_only = OFF; -SELECT @@session.tx_read_only; -@@session.tx_read_only -0 -SET @@session.tx_read_only = 0; -SELECT @@session.tx_read_only; -@@session.tx_read_only -0 -SET @@session.tx_read_only = 1; -SELECT @@session.tx_read_only; -@@session.tx_read_only -1 -SET @@session.tx_read_only = TRUE; -SELECT @@session.tx_read_only; -@@session.tx_read_only -1 -SET @@session.tx_read_only = FALSE; -SELECT @@session.tx_read_only; -@@session.tx_read_only -0 -################################################################ -# Change the value of tx_read_only to an invalid value # -################################################################ -SET @@global.tx_read_only = 'ONN'; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'ONN' -SET @@global.tx_read_only = "OFFF"; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'OFFF' -SET @@global.tx_read_only = TTRUE; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'TTRUE' -SET @@global.tx_read_only = FELSE; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'FELSE' -SET @@global.tx_read_only = -1024; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of '-1024' -SET @@global.tx_read_only = 65536; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of '65536' -SET @@global.tx_read_only = 65530.34; -ERROR 42000: Incorrect argument type to variable 'tx_read_only' -SET @@global.tx_read_only = test; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'test' -SET @@session.tx_read_only = ONN; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'ONN' -SET @@session.tx_read_only = ONF; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'ONF' -SET @@session.tx_read_only = OF; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'OF' -SET @@session.tx_read_only = 'OFN'; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'OFN' -SET @@session.tx_read_only = -2; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of '-2' -SET @@session.tx_read_only = 65530.34; -ERROR 42000: Incorrect argument type to variable 'tx_read_only' -SET @@session.tx_read_only = 65550; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of '65550' -SET @@session.tx_read_only = test; -ERROR 42000: Variable 'tx_read_only' can't be set to the value of 'test' -SELECT @@session.tx_read_only; -@@session.tx_read_only -0 -#################################################################### -# Check if the value in GLOBAL Table matches value in variable # -#################################################################### -SELECT IF(@@global.tx_read_only, "ON", "OFF") = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES -WHERE VARIABLE_NAME='tx_read_only'; -IF(@@global.tx_read_only, "ON", "OFF") = VARIABLE_VALUE -1 -#################################################################### -# Check if the value in SESSION Table matches value in variable # -#################################################################### -SELECT IF(@@session.tx_read_only, "ON", "OFF") = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.SESSION_VARIABLES -WHERE VARIABLE_NAME='tx_read_only'; -IF(@@session.tx_read_only, "ON", "OFF") = VARIABLE_VALUE -1 -############################################################################### -# Check if accessing variable with and without GLOBAL point to same variable # -############################################################################### -SET @@tx_read_only = OFF; -SET @@global.tx_read_only = ON; -SELECT @@tx_read_only = @@global.tx_read_only; -@@tx_read_only = @@global.tx_read_only -0 -############################################################################## -# Check if accessing variable with SESSION,LOCAL and without SCOPE points # -# to same session variable # -############################################################################## -SET @@tx_read_only = ON; -SELECT @@tx_read_only = @@local.tx_read_only; -@@tx_read_only = @@local.tx_read_only -1 -SELECT @@local.tx_read_only = @@session.tx_read_only; -@@local.tx_read_only = @@session.tx_read_only -1 -############################################################################### -# Check if tx_read_only can be accessed with and without @@ sign # -############################################################################### -# @@session is synonym for SESSION -SET @@session.tx_read_only= 0; -# Without modifier, SET changes session variable -SET tx_read_only = 1; -SELECT @@tx_read_only; -@@tx_read_only -1 -# name1.name2 refers to database_name.table_name -SELECT session.tx_read_only; -ERROR 42S02: Unknown table 'session' in field list -#################################### -# Restore initial value # -#################################### -SET @@global.tx_read_only = @start_global_value; -SELECT @@global.tx_read_only; -@@global.tx_read_only -0 -SET @@session.tx_read_only = @start_session_value; -SELECT @@session.tx_read_only; -@@session.tx_read_only -0 -######################################################### -# END OF tx_read_only TESTS # -######################################################### |