mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
3ea684935b
Several system variables did not behave like system variables should do. When trying to SET them or use them in SELECT, they were reported as "unknown system variable". But they appeared in SHOW VARIABLES. This has been fixed by removing the "fixed_vars" array of variables and integrating the variables into the normal system variables chain. All of these variables do now behave as read-only global-only variables. Trying to SET them tells they are read-only, trying to SELECT the session value tells they are global only. Selecting the global value works. It delivers the same value as SHOW VARIABLES.
109 lines
3.7 KiB
Text
109 lines
3.7 KiB
Text
---- Init ----
|
|
set @my_slave_net_timeout =@@global.slave_net_timeout;
|
|
---- Test ----
|
|
set global slave_net_timeout=100;
|
|
set global sql_slave_skip_counter=100;
|
|
show variables like 'slave_compressed_protocol';
|
|
Variable_name Value
|
|
slave_compressed_protocol OFF
|
|
show variables like 'slave_load_tmpdir';
|
|
Variable_name Value
|
|
slave_load_tmpdir SLAVE_LOAD_TMPDIR
|
|
show variables like 'slave_skip_errors';
|
|
Variable_name Value
|
|
slave_skip_errors 3,100,137,643,1752
|
|
---- Clean Up ----
|
|
set global slave_net_timeout=default;
|
|
set global sql_slave_skip_counter= 0;
|
|
|
|
#
|
|
SHOW VARIABLES like 'log_slave_updates';
|
|
Variable_name Value
|
|
log_slave_updates OFF
|
|
SELECT @@session.log_slave_updates;
|
|
ERROR HY000: Variable 'log_slave_updates' is a GLOBAL variable
|
|
SELECT @@global.log_slave_updates;
|
|
@@global.log_slave_updates
|
|
0
|
|
SET @@session.log_slave_updates= true;
|
|
ERROR HY000: Variable 'log_slave_updates' is a read only variable
|
|
SET @@global.log_slave_updates= true;
|
|
ERROR HY000: Variable 'log_slave_updates' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log';
|
|
Variable_name Value
|
|
relay_log
|
|
SELECT @@session.relay_log;
|
|
ERROR HY000: Variable 'relay_log' is a GLOBAL variable
|
|
SELECT @@global.relay_log;
|
|
@@global.relay_log
|
|
NULL
|
|
SET @@session.relay_log= 'x';
|
|
ERROR HY000: Variable 'relay_log' is a read only variable
|
|
SET @@global.relay_log= 'x';
|
|
ERROR HY000: Variable 'relay_log' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log_index';
|
|
Variable_name Value
|
|
relay_log_index
|
|
SELECT @@session.relay_log_index;
|
|
ERROR HY000: Variable 'relay_log_index' is a GLOBAL variable
|
|
SELECT @@global.relay_log_index;
|
|
@@global.relay_log_index
|
|
NULL
|
|
SET @@session.relay_log_index= 'x';
|
|
ERROR HY000: Variable 'relay_log_index' is a read only variable
|
|
SET @@global.relay_log_index= 'x';
|
|
ERROR HY000: Variable 'relay_log_index' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log_info_file';
|
|
Variable_name Value
|
|
relay_log_info_file relay-log.info
|
|
SELECT @@session.relay_log_info_file;
|
|
ERROR HY000: Variable 'relay_log_info_file' is a GLOBAL variable
|
|
SELECT @@global.relay_log_info_file;
|
|
@@global.relay_log_info_file
|
|
relay-log.info
|
|
SET @@session.relay_log_info_file= 'x';
|
|
ERROR HY000: Variable 'relay_log_info_file' is a read only variable
|
|
SET @@global.relay_log_info_file= 'x';
|
|
ERROR HY000: Variable 'relay_log_info_file' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log_space_limit';
|
|
Variable_name Value
|
|
relay_log_space_limit 0
|
|
SELECT @@session.relay_log_space_limit;
|
|
ERROR HY000: Variable 'relay_log_space_limit' is a GLOBAL variable
|
|
SELECT @@global.relay_log_space_limit;
|
|
@@global.relay_log_space_limit
|
|
0
|
|
SET @@session.relay_log_space_limit= 7;
|
|
ERROR HY000: Variable 'relay_log_space_limit' is a read only variable
|
|
SET @@global.relay_log_space_limit= 7;
|
|
ERROR HY000: Variable 'relay_log_space_limit' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'slave_load_tmpdir';
|
|
Variable_name Value
|
|
slave_load_tmpdir #
|
|
SELECT @@session.slave_load_tmpdir;
|
|
ERROR HY000: Variable 'slave_load_tmpdir' is a GLOBAL variable
|
|
SELECT @@global.slave_load_tmpdir;
|
|
@@global.slave_load_tmpdir
|
|
#
|
|
SET @@session.slave_load_tmpdir= 'x';
|
|
ERROR HY000: Variable 'slave_load_tmpdir' is a read only variable
|
|
SET @@global.slave_load_tmpdir= 'x';
|
|
ERROR HY000: Variable 'slave_load_tmpdir' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'slave_skip_errors';
|
|
Variable_name Value
|
|
slave_skip_errors 3,100,137,643,1752
|
|
SELECT @@session.slave_skip_errors;
|
|
ERROR HY000: Variable 'slave_skip_errors' is a GLOBAL variable
|
|
SELECT @@global.slave_skip_errors;
|
|
@@global.slave_skip_errors
|
|
3,100,137,643,1752
|
|
SET @@session.slave_skip_errors= 7;
|
|
ERROR HY000: Variable 'slave_skip_errors' is a read only variable
|
|
SET @@global.slave_skip_errors= 7;
|
|
ERROR HY000: Variable 'slave_skip_errors' is a read only variable
|