mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
712b9b00fb
Fixed test failure under heavy load, in case truncate table is slow. mysql-test/r/events_logs_tests.result: Fixed test failure under heavy load, in case truncate table is slow. mysql-test/t/events_logs_tests.test: Fixed test failure under heavy load, in case truncate table is slow.
72 lines
2.4 KiB
Text
72 lines
2.4 KiB
Text
drop database if exists events_test;
|
|
create database if not exists events_test;
|
|
use events_test;
|
|
|
|
We use procedure here because its statements won't be
|
|
logged into the general log. If we had used normal select
|
|
that are logged in different ways depending on whether the
|
|
test suite is run in normal mode or with --ps-protocol
|
|
|
|
create procedure select_general_log()
|
|
begin
|
|
select user_host, argument from mysql.general_log
|
|
where argument like '%events_logs_test%';
|
|
end|
|
|
|
|
Check that general query log works, but sub-statements
|
|
of the stored procedure do not leave traces in it.
|
|
|
|
truncate mysql.general_log;
|
|
select 'events_logs_tests' as outside_event;
|
|
outside_event
|
|
events_logs_tests
|
|
call select_general_log();
|
|
user_host argument
|
|
USER_HOST select 'events_logs_tests' as outside_event
|
|
|
|
Check that unlike sub-statements of stored procedures,
|
|
sub-statements of events are present in the general log.
|
|
|
|
set global event_scheduler=on;
|
|
truncate mysql.general_log;
|
|
create event ev_log_general on schedule at now() on completion not preserve do select 'events_logs_test' as inside_event;
|
|
call select_general_log();
|
|
user_host argument
|
|
USER_HOST create event ev_log_general on schedule at now() on completion not preserve do select 'events_logs_test' as inside_event
|
|
USER_HOST select 'events_logs_test' as inside_event
|
|
|
|
Check slow query log
|
|
|
|
Ensure that slow logging is on
|
|
show variables like 'log_slow_queries';
|
|
Variable_name Value
|
|
log_slow_queries ON
|
|
|
|
Demonstrate that session value has no effect
|
|
|
|
set @@session.long_query_time=1;
|
|
set @@global.long_query_time=300;
|
|
truncate mysql.slow_log;
|
|
create event ev_log_general on schedule at now() on completion not preserve
|
|
do select 'events_logs_test' as inside_event, sleep(1.5);
|
|
|
|
Nothing should be logged
|
|
|
|
select user_host, db, sql_text from mysql.slow_log
|
|
where sql_text like 'select \'events_logs_test\'%';
|
|
user_host db sql_text
|
|
set @@global.long_query_time=1;
|
|
truncate mysql.slow_log;
|
|
create event ev_log_general on schedule at now() on completion not preserve
|
|
do select 'events_logs_test' as inside_event, sleep(1.5);
|
|
|
|
Event sub-statement should be logged.
|
|
|
|
select user_host, db, sql_text from mysql.slow_log
|
|
where sql_text like 'select \'events_logs_test\'%';
|
|
user_host db sql_text
|
|
USER_HOST events_test select 'events_logs_test' as inside_event, sleep(1.5)
|
|
drop database events_test;
|
|
set global event_scheduler=off;
|
|
set @@global.long_query_time=default;
|
|
set @@session.long_query_time=default;
|