73 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 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;
 |