summaryrefslogtreecommitdiff
path: root/mysql-test/suite/events/events_logs_tests.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/events/events_logs_tests.result')
-rw-r--r--mysql-test/suite/events/events_logs_tests.result74
1 files changed, 74 insertions, 0 deletions
diff --git a/mysql-test/suite/events/events_logs_tests.result b/mysql-test/suite/events/events_logs_tests.result
new file mode 100644
index 00000000000..d332767a9f1
--- /dev/null
+++ b/mysql-test/suite/events/events_logs_tests.result
@@ -0,0 +1,74 @@
+set @save_long_query_time=@@long_query_time;
+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%' AND
+(command_type = 'Query' OR command_type = 'Execute');
+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 'slow_query_log';
+Variable_name Value
+slow_query_log 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=@save_long_query_time;
+set @@session.long_query_time=@save_long_query_time;