mirror of
https://github.com/MariaDB/server.git
synced 2025-05-28 13:01:41 +03:00
182 lines
7.2 KiB
Plaintext
182 lines
7.2 KiB
Plaintext
####################################################################
|
|
# 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 #
|
|
#########################################################
|