mariadb/mysql-test/main/events_logs_tests.test

92 lines
3.2 KiB
Text
Raw Normal View History

# Can't test with embedded server that doesn't support grants
-- source include/not_embedded.inc
set @save_long_query_time=@@long_query_time;
--disable_warnings
drop database if exists events_test;
--enable_warnings
create database if not exists events_test;
use events_test;
--echo
--echo We use procedure here because its statements won't be
--echo logged into the general log. If we had used normal select
--echo that are logged in different ways depending on whether the
--echo test suite is run in normal mode or with --ps-protocol
--echo
delimiter |;
create procedure select_general_log()
begin
select user_host, argument from mysql.general_log
where argument like '%events_logs_test%';
end|
delimiter ;|
--echo
--echo Check that general query log works, but sub-statements
--echo of the stored procedure do not leave traces in it.
--echo
truncate mysql.general_log;
# Logging format in ps protocol is slightly different
--disable_ps_protocol
select 'events_logs_tests' as outside_event;
--enable_ps_protocol
--replace_column 1 USER_HOST
call select_general_log();
--echo
--echo Check that unlike sub-statements of stored procedures,
--echo sub-statements of events are present in the general log.
--echo
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;
--let $wait_condition=select count(*)=0 from information_schema.events where event_name='ev_log_general'
--source include/wait_condition.inc
--replace_column 1 USER_HOST
call select_general_log();
--echo
--echo Check slow query log
--echo
--echo Ensure that slow logging is on
show variables like 'slow_query_log';
--echo
--echo Demonstrate that session value has no effect
--echo
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);
--let $wait_condition=select count(*)=0 from information_schema.events where event_name='ev_log_general'
--source include/wait_condition.inc
--echo
--echo Nothing should be logged
--echo
--replace_column 1 USER_HOST
select user_host, db, sql_text from mysql.slow_log
where sql_text like 'select \'events_logs_test\'%';
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);
--let $wait_condition=select count(*)=0 from information_schema.events where event_name='ev_log_general'
--source include/wait_condition.inc
--echo
--echo Event sub-statement should be logged.
--echo
--replace_column 1 USER_HOST
select user_host, db, sql_text from mysql.slow_log
where sql_text like 'select \'events_logs_test\'%';
2011-04-25 17:22:25 +02:00
drop database events_test;
set global event_scheduler=off;
set @@global.long_query_time=@save_long_query_time;
set @@session.long_query_time=@save_long_query_time;
2011-04-25 17:22:25 +02:00
#
# Safety
#
Fix for bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/r/events_bugs.result: uppercase mysql-test/t/events.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_bugs.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_grant.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_logs_tests.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_scheduling.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_stress.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_time_zone.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_trans.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist" mysql-test/t/events_trans_notembedded.test: wait at the end of the script for event which haven't finished their execution. This should solve bug#26338 events_bugs.test fail on Debian and bug#28285 Test "events_bugs" has instable results of "select /*1*/ ... from processlist"
2007-05-26 16:36:38 +02:00
let $wait_condition=
select count(*) = 0 from information_schema.processlist
where db='events_test' and command = 'Connect' and user=current_user();
--source include/wait_condition.inc