1
drop database if exists events_test;
2
create database if not exists events_test;
5
We use procedure here because its statements won't be
6
logged into the general log. If we had used normal select
7
that are logged in different ways depending on whether the
8
test suite is run in normal mode or with --ps-protocol
10
create procedure select_general_log()
12
select user_host, argument from mysql.general_log
13
where argument like '%events_logs_test%';
16
Check that general query log works, but sub-statements
17
of the stored procedure do not leave traces in it.
19
truncate mysql.general_log;
20
select 'events_logs_tests' as outside_event;
23
call select_general_log();
25
USER_HOST select 'events_logs_tests' as outside_event
27
Check that unlike sub-statements of stored procedures,
28
sub-statements of events are present in the general log.
30
set global event_scheduler=on;
31
truncate mysql.general_log;
32
create event ev_log_general on schedule at now() on completion not preserve do select 'events_logs_test' as inside_event;
33
call select_general_log();
35
USER_HOST create event ev_log_general on schedule at now() on completion not preserve do select 'events_logs_test' as inside_event
36
USER_HOST select 'events_logs_test' as inside_event
40
Ensure that slow logging is on
41
show variables like 'log_slow_queries';
45
Demonstrate that session value has no effect
47
set @@session.long_query_time=1;
48
set @@global.long_query_time=300;
49
truncate mysql.slow_log;
50
create event ev_log_general on schedule at now() on completion not preserve
51
do select 'events_logs_test' as inside_event, sleep(1.5);
53
Nothing should be logged
55
select user_host, db, sql_text from mysql.slow_log
56
where sql_text like 'select \'events_logs_test\'%';
58
set @@global.long_query_time=1;
59
truncate mysql.slow_log;
60
create event ev_log_general on schedule at now() on completion not preserve
61
do select 'events_logs_test' as inside_event, sleep(1.5);
63
Event sub-statement should be logged.
65
select user_host, db, sql_text from mysql.slow_log
66
where sql_text like 'select \'events_logs_test\'%';
68
USER_HOST events_test select 'events_logs_test' as inside_event, sleep(1.5)
69
drop database events_test;
70
set global event_scheduler=off;
71
set @@global.long_query_time=default;
72
set @@session.long_query_time=default;