MINI MINI MANI MO

Path : /opt/mysql/mysql-test/suite/sys_vars/r/
File Upload :
Current File : //opt/mysql/mysql-test/suite/sys_vars/r/session_track_system_variables_basic.result

#
# Variable name : session_track_system_variables
# Scope         : Global & Session
#
# Global - default
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection
# Session - default
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection

# via INFORMATION_SCHEMA.GLOBAL_VARIABLES
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'session_track%' ORDER BY VARIABLE_NAME;
VARIABLE_NAME	VARIABLE_VALUE
SESSION_TRACK_GTIDS	OFF
SESSION_TRACK_SCHEMA	ON
SESSION_TRACK_STATE_CHANGE	OFF
SESSION_TRACK_SYSTEM_VARIABLES	time_zone,autocommit,character_set_client,character_set_results,character_set_connection
SESSION_TRACK_TRANSACTION_INFO	OFF
# via INFORMATION_SCHEMA.SESSION_VARIABLES
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'session_track%' ORDER BY VARIABLE_NAME;
VARIABLE_NAME	VARIABLE_VALUE
SESSION_TRACK_GTIDS	OFF
SESSION_TRACK_SCHEMA	ON
SESSION_TRACK_STATE_CHANGE	OFF
SESSION_TRACK_SYSTEM_VARIABLES	time_zone,autocommit,character_set_client,character_set_results,character_set_connection
SESSION_TRACK_TRANSACTION_INFO	OFF
SET @global_saved_tmp =  @@global.session_track_system_variables;

# Altering global variable's value
SET @@global.session_track_system_variables='autocommit';
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
autocommit
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection

# Altering session variable's value
SET @@session.session_track_system_variables='autocommit';
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
autocommit
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
autocommit

# Variables' values in a new session.
# Global - expect "autocommit"
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
autocommit

# Session - expect "autocommit"
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
autocommit

# Switching to the default connection.
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
autocommit
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
autocommit

# Test if DEFAULT is working as expected.
SET @@global.session_track_system_variables = DEFAULT;
SET @@session.session_track_system_variables = DEFAULT;

SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection

# Variables' values in a new session (con2).
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection

# Altering session should not affect global.
SET @@session.session_track_system_variables = 'sql_mode';
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
sql_mode

# Variables' values in a new session (con3).
# Altering global should not affect session.
SET @@global.session_track_system_variables = 'sql_mode';
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
sql_mode
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
time_zone,autocommit,character_set_client,character_set_results,character_set_connection

# Switching to the default connection.
# Testing NULL
SET @@global.session_track_system_variables = NULL;
SET @@session.session_track_system_variables = NULL;
# Global - expect NULL
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
NULL
# Session - expect NULL
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
NULL
# testing with duplicate entries (must fail).
SET @@global.session_track_system_variables= "time_zone";
SET @@session.session_track_system_variables= "time_zone";
SET @@global.session_track_system_variables= "sql_mode,sql_mode";
ERROR HY000: Duplicate entry 'sql_mode'.
SET @@session.session_track_system_variables= "sql_mode,sql_mode";
ERROR HY000: Duplicate entry 'sql_mode'.
# Global - must remain unchanged, 'time_zone'
SELECT @@global.session_track_system_variables;
@@global.session_track_system_variables
time_zone
# Session - must remain unchanged, 'time_zone'
SELECT @@session.session_track_system_variables;
@@session.session_track_system_variables
time_zone

# Restoring the original values.
SET @@global.session_track_system_variables = @global_saved_tmp;
# End of tests.

OHA YOOOO