mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Fix for bug #29131: SHOW VARIABLES reports variable 'log' but SET
doesn't recognize it This is a 5.0 version of the patch, it will be null-merged to 5.1 Problem: 'log' and 'log_slow_queries' were "fixed" variables, i.e. they showed up in SHOW VARIABLES, but could not be used in expressions like "select @@log". Also, using them in the SET statement produced an incorrect "unknown system variable" error. Solution: Make 'log' and 'log_slow_queries' read-only dynamic variables to make them available for use in expressions, and produce a correct error about the variable being read-only when used in the SET statement. mysql-test/r/variables.result: Added a test case for bug #29131. mysql-test/t/variables.test: Added a test case for bug #29131. sql/mysql_priv.h: Changed the type of opt_log and opt_slow_log to my_bool to align with the interfaces in set_var.cc sql/mysqld.cc: Changed the type of opt_log and opt_slow_log to my_bool to align with the interfaces in set_var.cc sql/set_var.cc: Made 'log' and 'log_slow_queries' to be read-only dynamic system variable, i.e. available for use in expressions with the @@var syntax. sql/set_var.h: Added a new system variable class representing a read-only boolean variable.
This commit is contained in:
@ -674,6 +674,20 @@ set @@hostname= "anothername";
|
||||
--replace_column 2 #
|
||||
show variables like 'hostname';
|
||||
|
||||
#
|
||||
# Bug #29131: SHOW VARIABLES reports variable 'log' but SET doesn't recognize it
|
||||
#
|
||||
|
||||
SHOW VARIABLES LIKE 'log';
|
||||
SELECT @@log;
|
||||
--error 1238
|
||||
SET GLOBAL log=0;
|
||||
|
||||
SHOW VARIABLES LIKE 'log_slow_queries';
|
||||
SELECT @@log_slow_queries;
|
||||
--error 1238
|
||||
SET GLOBAL log_slow_queries=0;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
# This is at the very after the versioned tests, since it involves doing
|
||||
|
Reference in New Issue
Block a user