mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
245b9ad4b3
mysql-test/extra/rpl_tests/rpl_row_func003.test: Fix spelling error mysql-test/extra/rpl_tests/rpl_row_tabledefs.test: Restore sql_mode after test mysql-test/r/events_logs_tests.result: Turn even_scheduleroff before test ends mysql-test/r/events_scheduling.result: Turn even_scheduleroff before test ends mysql-test/r/insert.result: Drop tables t1 before test ends mysql-test/r/rpl_read_only.result: Set read_only flag back to default mysql-test/r/rpl_row_NOW.result: Drop database mysqltest1 before test ends mysql-test/r/rpl_row_USER.result: Drop users created by test mysql-test/r/rpl_row_basic_11bugs.result: Drop table and set query_cache_size back to default mysql-test/r/rpl_row_func002.result: Drop table created by test mysql-test/r/rpl_row_sp008.result: Drop table created by test mysql-test/r/rpl_row_sp012.result: Drop user created by test mysql-test/r/rpl_row_tabledefs_2myisam.result: Restore sql_mode mysql-test/r/rpl_row_tabledefs_3innodb.result: Restore sql_mode mysql-test/r/rpl_row_tabledefs_7ndb.result: Restore sql_mode mysql-test/r/rpl_row_view01.result: Drop database created by test mysql-test/r/rpl_slave_status.result: Remove created users mysql-test/r/rpl_switch_stm_row_mixed.result: Reset binlog_format to default mysql-test/r/sp.result: Drop procedure created by test mysql-test/r/varbinary.result: Drop table created by test mysql-test/r/variables.result: Reset changed variables to their defaults mysql-test/t/events_logs_tests.test: Turn off event_scheduler before test ends mysql-test/t/events_scheduling.test: Turn off event_scheduler mysql-test/t/insert.test: Drop table created by test mysql-test/t/rpl_read_only.test: Reset read_only flag mysql-test/t/rpl_row_NOW.test: Drop db created by test mysql-test/t/rpl_row_USER.test: Drop users created mysql-test/t/rpl_row_basic_11bugs.test: Drop tables created by test mysql-test/t/rpl_row_func002.test: Drop table created by test mysql-test/t/rpl_row_sp008.test: Drop table created by test mysql-test/t/rpl_row_sp012.test: Drop user created by test mysql-test/t/rpl_row_view01.test: Drop db created by test mysql-test/t/rpl_slave_status.test: Remove users created by test mysql-test/t/rpl_switch_stm_row_mixed.test: Reset binlog_format mysql-test/t/sp.test: Drop procedure created by test mysql-test/t/varbinary.test: Drop tables created by test mysql-test/t/variables.test: Restore variables to their default before test ends
108 lines
4.1 KiB
Text
108 lines
4.1 KiB
Text
# Can't test with embedded server that doesn't support grants
|
|
-- source include/not_embedded.inc
|
|
|
|
CREATE DATABASE IF NOT EXISTS events_test;
|
|
USE events_test;
|
|
--echo "We use procedure here because its statements won't be logged into the general log"
|
|
--echo "If we had used normal select that are logged in different ways depending on whether"
|
|
--echo "the test suite is run in normal mode or with --ps-protocol"
|
|
delimiter |;
|
|
CREATE procedure select_general_log()
|
|
BEGIN
|
|
SELECT user_host, argument FROM mysql.general_log WHERE argument LIKE '%alabala%';
|
|
END|
|
|
delimiter ;|
|
|
--echo "Check General Query Log"
|
|
--replace_column 1 USER_HOST
|
|
CALL select_general_log();
|
|
SET GLOBAL event_scheduler=on;
|
|
TRUNCATE mysql.general_log;
|
|
CREATE EVENT log_general ON SCHEDULE EVERY 1 MINUTE DO SELECT 'alabala', SLEEP(1) FROM DUAL;
|
|
--echo "Wait the scheduler to start"
|
|
--sleep 1.5
|
|
--echo "Should see 2 rows - the 'SELECT' is in the middle. The other two are selects from general_log"
|
|
--replace_column 1 USER_HOST
|
|
CALL select_general_log();
|
|
DROP PROCEDURE select_general_log;
|
|
DROP EVENT log_general;
|
|
SET GLOBAL event_scheduler=off;
|
|
|
|
--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;
|
|
--echo "Make it quite long"
|
|
SET SESSION long_query_time=300;
|
|
TRUNCATE mysql.slow_log;
|
|
--replace_column 1 USER_HOST
|
|
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=1;
|
|
--echo "Check that logging is working"
|
|
SELECT SLEEP(2);
|
|
--replace_column 1 USER_HOST 2 SLEEPVAL
|
|
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
|
SET SESSION long_query_time=300;
|
|
--echo "Make it quite long"
|
|
TRUNCATE mysql.slow_log;
|
|
CREATE TABLE slow_event_test (slo_val tinyint, val tinyint);
|
|
SET SESSION long_query_time=1;
|
|
--echo "This won't go to the slow log"
|
|
SELECT * FROM slow_event_test;
|
|
SET SESSION long_query_time=1;
|
|
SET GLOBAL event_scheduler=on;
|
|
SET GLOBAL long_query_time=20;
|
|
CREATE EVENT long_event ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(1.5);
|
|
--echo "Sleep some more time than the actual event run will take"
|
|
--sleep 2
|
|
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 1.5 is under the threshold of 20 for GLOBAL, though over SESSION which is 1"
|
|
--echo "This should show that the GLOBAL value is regarded and not the SESSION one of the current connection"
|
|
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
|
--echo "Another test to show that GLOBAL is regarded and not SESSION."
|
|
--echo "This should go to the slow log"
|
|
SET SESSION long_query_time=10;
|
|
DROP EVENT long_event;
|
|
SET GLOBAL long_query_time=1;
|
|
CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(2);
|
|
--echo "Sleep some more time than the actual event run will take"
|
|
--sleep 2.5
|
|
--echo "Check our table. Should see 2 rows"
|
|
SELECT * FROM slow_event_test;
|
|
--echo "Check slow log. Should see 1 row because 4 is over the threshold of 3 for GLOBAL, though under SESSION which is 10"
|
|
--replace_column 1 USER_HOST 2 SLEEPVAL
|
|
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
|
DROP EVENT long_event2;
|
|
--echo "Make it quite long"
|
|
SET SESSION long_query_time=300;
|
|
TRUNCATE mysql.slow_log;
|
|
DROP TABLE slow_event_test;
|
|
SET GLOBAL long_query_time =@old_global_long_query_time;
|
|
SET SESSION long_query_time =@old_session_long_query_time;
|
|
|
|
DROP DATABASE events_test;
|
|
|
|
SET GLOBAL event_scheduler=off;
|