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;
							 |