mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	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.
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
---- 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
 |