1# 2# Variable name : session_track_system_variables 3# Scope : Global & Session 4# 5# Global - default 6SELECT @@global.session_track_system_variables; 7@@global.session_track_system_variables 8autocommit,character_set_client,character_set_connection,character_set_results,time_zone 9# Session - default 10SELECT @@session.session_track_system_variables; 11@@session.session_track_system_variables 12autocommit,character_set_client,character_set_connection,character_set_results,time_zone 13 14# via INFORMATION_SCHEMA.GLOBAL_VARIABLES 15SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'session_track%' ORDER BY VARIABLE_NAME; 16VARIABLE_NAME VARIABLE_VALUE 17SESSION_TRACK_SCHEMA ON 18SESSION_TRACK_STATE_CHANGE OFF 19SESSION_TRACK_SYSTEM_VARIABLES autocommit,character_set_client,character_set_connection,character_set_results,time_zone 20SESSION_TRACK_TRANSACTION_INFO OFF 21# via INFORMATION_SCHEMA.SESSION_VARIABLES 22SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'session_track%' ORDER BY VARIABLE_NAME; 23VARIABLE_NAME VARIABLE_VALUE 24SESSION_TRACK_SCHEMA ON 25SESSION_TRACK_STATE_CHANGE OFF 26SESSION_TRACK_SYSTEM_VARIABLES autocommit,character_set_client,character_set_connection,character_set_results,time_zone 27SESSION_TRACK_TRANSACTION_INFO OFF 28SET @global_saved_tmp = @@global.session_track_system_variables; 29 30# Altering global variable's value 31SET @@global.session_track_system_variables='autocommit'; 32SELECT @@global.session_track_system_variables; 33@@global.session_track_system_variables 34autocommit 35SELECT @@session.session_track_system_variables; 36@@session.session_track_system_variables 37autocommit,character_set_client,character_set_connection,character_set_results,time_zone 38 39# Altering session variable's value 40SET @@session.session_track_system_variables='autocommit'; 41SELECT @@global.session_track_system_variables; 42@@global.session_track_system_variables 43autocommit 44SELECT @@session.session_track_system_variables; 45@@session.session_track_system_variables 46autocommit 47 48# Variables' values in a new session. 49connect con1,"127.0.0.1",root,,test,$MASTER_MYPORT,; 50# Global - expect "autocommit" 51SELECT @@global.session_track_system_variables; 52@@global.session_track_system_variables 53autocommit 54 55# Session - expect "autocommit" 56SELECT @@session.session_track_system_variables; 57@@session.session_track_system_variables 58autocommit 59 60# Switching to the default connection. 61connection default; 62SELECT @@global.session_track_system_variables; 63@@global.session_track_system_variables 64autocommit 65SELECT @@session.session_track_system_variables; 66@@session.session_track_system_variables 67autocommit 68 69# Test if DEFAULT is working as expected. 70SET @@global.session_track_system_variables = DEFAULT; 71SET @@session.session_track_system_variables = DEFAULT; 72 73SELECT @@global.session_track_system_variables; 74@@global.session_track_system_variables 75autocommit,character_set_client,character_set_connection,character_set_results,time_zone 76SELECT @@session.session_track_system_variables; 77@@session.session_track_system_variables 78autocommit,character_set_client,character_set_connection,character_set_results,time_zone 79 80# Variables' values in a new session (con2). 81connect con2,"127.0.0.1",root,,test,$MASTER_MYPORT,; 82SELECT @@global.session_track_system_variables; 83@@global.session_track_system_variables 84autocommit,character_set_client,character_set_connection,character_set_results,time_zone 85SELECT @@session.session_track_system_variables; 86@@session.session_track_system_variables 87autocommit,character_set_client,character_set_connection,character_set_results,time_zone 88 89# Altering session should not affect global. 90SET @@session.session_track_system_variables = 'sql_mode'; 91SELECT @@global.session_track_system_variables; 92@@global.session_track_system_variables 93autocommit,character_set_client,character_set_connection,character_set_results,time_zone 94SELECT @@session.session_track_system_variables; 95@@session.session_track_system_variables 96sql_mode 97 98# Variables' values in a new session (con3). 99connect con3,"127.0.0.1",root,,test,$MASTER_MYPORT,; 100# Altering global should not affect session. 101SET @@global.session_track_system_variables = 'sql_mode'; 102SELECT @@global.session_track_system_variables; 103@@global.session_track_system_variables 104sql_mode 105SELECT @@session.session_track_system_variables; 106@@session.session_track_system_variables 107autocommit,character_set_client,character_set_connection,character_set_results,time_zone 108 109# Switching to the default connection. 110connection default; 111# Testing NULL 112SET @@global.session_track_system_variables = NULL; 113ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL' 114SET @@session.session_track_system_variables = NULL; 115ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL' 116# testing with duplicate entries. 117SET @@global.session_track_system_variables= "time_zone"; 118SET @@session.session_track_system_variables= "time_zone"; 119SET @@global.session_track_system_variables= "sql_mode,sql_mode"; 120SET @@session.session_track_system_variables= "sql_mode,sql_mode"; 121SELECT @@global.session_track_system_variables; 122@@global.session_track_system_variables 123sql_mode 124SELECT @@session.session_track_system_variables; 125@@session.session_track_system_variables 126sql_mode 127 128# testing ordering 129SET @@global.session_track_system_variables= "time_zone,sql_mode"; 130SET @@session.session_track_system_variables= "time_zone,sql_mode"; 131SELECT @@global.session_track_system_variables; 132@@global.session_track_system_variables 133sql_mode,time_zone 134SELECT @@session.session_track_system_variables; 135@@session.session_track_system_variables 136sql_mode,time_zone 137 138# special values 139SET @@global.session_track_system_variables= "*"; 140SET @@session.session_track_system_variables= "*"; 141SELECT @@global.session_track_system_variables; 142@@global.session_track_system_variables 143* 144SELECT @@session.session_track_system_variables; 145@@session.session_track_system_variables 146* 147SET @@global.session_track_system_variables= ""; 148SET @@session.session_track_system_variables= ""; 149SELECT @@global.session_track_system_variables; 150@@global.session_track_system_variables 151 152SELECT @@session.session_track_system_variables; 153@@session.session_track_system_variables 154 155 156# MDEV-22524 SIGABRT in safe_mutex_unlock with session_track_system_variables and max_relay_log_size. 157SET SESSION session_track_system_variables="sql_slave_skip_counter", sql_slave_skip_counter= 0; 158# Restoring the original values. 159SET @@global.session_track_system_variables = @global_saved_tmp; 160# End of tests. 161