mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 23:25:34 +02:00
Fix for bug #29131: SHOW VARIABLES reports variable 'log' but SET
doesn't recognize it This is a 5.1 version of the patch. 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: Since as of MySQL 5.1.12 one can enable or disable the general query log or the slow query log at runtime by changing values of general_log/slow_query_log, make 'log' and 'log_slow_queries" to be synonyms for 'general_log' and 'slow_query_log' respectively. This makes expressions using the '@@var' syntax backward compatible with 5.0 and SHOW VARIABLES output to be consistent with the SET statement. mysql-test/r/log_state.result: Added a test case for bug #29131. mysql-test/t/log_state.test: Added a test case for bug #29131. sql/set_var.cc: Made the 'log' and 'log_slow_queries' system variables to be synonyms for 'general_log' and 'slow_query_log'.
This commit is contained in:
parent
e259d46103
commit
974201c7e0
3 changed files with 105 additions and 2 deletions
|
|
@ -179,6 +179,42 @@ SET GLOBAL READ_ONLY = OFF;
|
|||
SET GLOBAL general_log = @old_general_log_state;
|
||||
SET GLOBAL slow_query_log = @old_slow_log_state;
|
||||
|
||||
#
|
||||
# Bug #29131: SHOW VARIABLES reports variable 'log' but SET doesn't recognize it
|
||||
#
|
||||
|
||||
SET @old_general_log_state = @@global.general_log;
|
||||
SET @old_slow_log_state = @@global.slow_query_log;
|
||||
|
||||
SHOW VARIABLES LIKE 'general_log';
|
||||
SHOW VARIABLES LIKE 'log';
|
||||
SELECT @@general_log, @@log;
|
||||
SET GLOBAL log = 0;
|
||||
SHOW VARIABLES LIKE 'general_log';
|
||||
SHOW VARIABLES LIKE 'log';
|
||||
SELECT @@general_log, @@log;
|
||||
SET GLOBAL general_log = 1;
|
||||
SHOW VARIABLES LIKE 'general_log';
|
||||
SHOW VARIABLES LIKE 'log';
|
||||
SELECT @@general_log, @@log;
|
||||
|
||||
SHOW VARIABLES LIKE 'slow_query_log';
|
||||
SHOW VARIABLES LIKE 'log_slow_queries';
|
||||
SELECT @@slow_query_log, @@log_slow_queries;
|
||||
SET GLOBAL log_slow_queries = 0;
|
||||
SHOW VARIABLES LIKE 'slow_query_log';
|
||||
SHOW VARIABLES LIKE 'log_slow_queries';
|
||||
SELECT @@slow_query_log, @@log_slow_queries;
|
||||
SET GLOBAL slow_query_log = 1;
|
||||
SHOW VARIABLES LIKE 'slow_query_log';
|
||||
SHOW VARIABLES LIKE 'log_slow_queries';
|
||||
SELECT @@slow_query_log, @@log_slow_queries;
|
||||
|
||||
SET GLOBAL general_log = @old_general_log_state;
|
||||
SET GLOBAL slow_query_log = @old_slow_log_state;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--enable_ps_protocol
|
||||
|
||||
#
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue