diff options
author | unknown <andrey@lmy004.> | 2006-03-01 16:27:57 +0100 |
---|---|---|
committer | unknown <andrey@lmy004.> | 2006-03-01 16:27:57 +0100 |
commit | 265df624ccfdaefb777f40acac4ed8488529b27f (patch) | |
tree | d070d147f614121e3aed89837a2e01877e412b0e /mysql-test/t/events_logs_tests.test | |
parent | eab8bb65fbd503ad8dbbbffb63a43a8208365e39 (diff) | |
download | mariadb-git-265df624ccfdaefb777f40acac4ed8488529b27f.tar.gz |
fix for bug #16413 (Events: statements don't appear in the general query log)
WL#1034
mysql-test/t/events_logs_tests-master.opt:
Rename: mysql-test/t/events_slow_query-master.opt -> mysql-test/t/events_logs_tests-master.opt
sql/event_timed.cc:
ask the anonymous SP to log general statements
sql/sp_head.cc:
save the OPTION_LOG_OFF and restore it after execution
sql/sp_head.h:
add a new flag for general log
mysql-test/r/events_logs_tests.result:
update result file
mysql-test/t/events_logs_tests.test:
add test for general log
Diffstat (limited to 'mysql-test/t/events_logs_tests.test')
-rw-r--r-- | mysql-test/t/events_logs_tests.test | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/mysql-test/t/events_logs_tests.test b/mysql-test/t/events_logs_tests.test new file mode 100644 index 00000000000..6b733fa989f --- /dev/null +++ b/mysql-test/t/events_logs_tests.test @@ -0,0 +1,79 @@ +create database if not exists events_test; +use events_test; + +--echo "Check General Query Log" +SET GLOBAL event_scheduler=0; +create event log_general on schedule every 1 minute do seLect 'alabala', sleep(3) from dual; +TRUNCATE mysql.general_log; +SELECT user_host, command_type, argument FROM mysql.general_log; +SET GLOBAL event_scheduler=1; +--echo "Wait the scheduler to start" +--echo "Should see 3 rows. The create, the seLect and the select from the general_log" +--sleep 2 +SELECT user_host, command_type, argument FROM mysql.general_log; +DROP EVENT log_general; +SET GLOBAL event_scheduler=0; +--sleep 1 + +--echo "Check slow query log" +--disable_query_log +DELIMITER |; +CREATE FUNCTION get_value() + returns INT + deterministic +BEGIN + DECLARE var_name CHAR(255); + DECLARE var_val INT; + DECLARE done INT DEFAULT 0; + DECLARE cur1 CURSOR FOR SHOW GLOBAL VARIABLES LIKE 'long_query_time'; + DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; + OPEN cur1; + FETCH cur1 INTO var_name, var_val; + CLOSE cur1; + RETURN var_val; +end| +DELIMITER ;| +--enable_query_log +--echo "Save the values" +SET @old_global_long_query_time:=(select get_value()); +SET @old_session_long_query_time:=@@long_query_time; +SHOW VARIABLES LIKE 'log_slow_queries'; +DROP FUNCTION get_value; +TRUNCATE mysql.slow_log; +SELECT user_host, query_time, db, sql_text FROM mysql.slow_log; +--echo "Set new values" +SET GLOBAL long_query_time=4; +SET SESSION long_query_time=2; +--echo "Check that logging is working" +SELECT SLEEP(3); +SELECT user_host, query_time, db, sql_text FROM mysql.slow_log; +TRUNCATE mysql.slow_log; +CREATE TABLE slow_event_test (slo_val tinyint, val tinyint); +--echo "This won't go to the slow log" +CREATE EVENT long_event ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(3); +SELECT * FROM slow_event_test; +SET GLOBAL event_scheduler=1; +--echo "Sleep some more time than the actual event run will take" +--sleep 5 +SHOW VARIABLES LIKE 'event_scheduler'; +--echo "Check our table. Should see 1 row" +SELECT * FROM slow_event_test; +--echo "Check slow log. Should not see anything because 3 is under the threshold of 4 for GLOBAL, though over SESSION which is 2" +SELECT user_host, query_time, db, sql_text FROM mysql.slow_log; +--echo "This should go to the slow log" +SET SESSION long_query_time=10; +DROP EVENT long_event; +CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(5); +--echo "Sleep some more time than the actual event run will take" +--sleep 7 +--echo "Check our table. Should see 2 rows" +SELECT * FROM slow_event_test; +--echo "Check slow log. Should see 1 row because 5 is over the threshold of 4 for GLOBAL, though under SESSION which is 10" +SELECT user_host, query_time, db, sql_text FROM mysql.slow_log; +DROP EVENT long_event2; +SET GLOBAL long_query_time =@old_global_long_query_time; +SET SESSION long_query_time =@old_session_long_query_time; +TRUNCATE mysql.slow_log; +DROP TABLE slow_event_test; + +drop database events_test; |