--source include/no_valgrind_without_big.inc # # Testing of slow log query options # set @@log_slow_verbosity=""; select @@log_slow_filter; select @@log_slow_rate_limit; select @@log_slow_verbosity; show variables like "log_slow%"; set @org_slow_query_log= @@global.slow_query_log; # Some simple test to set log_slow_filter set @@log_slow_filter= "filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk,admin"; select @@log_slow_filter; set @@log_slow_filter="admin,admin"; select @@log_slow_filter; set @@log_slow_filter=7; select @@log_slow_filter; # Test of wrong values --error 1231 set @@log_slow_filter= "filesort,impossible,impossible2,admin"; --error 1231 set @@log_slow_filter= "filesort, admin"; --error 1231 set @@log_slow_filter= 1<<31; select @@log_slow_filter; # Some simple test to set log_slow_verbosity set @@log_slow_verbosity= "query_plan,innodb"; select @@log_slow_verbosity; set @@log_slow_verbosity=1; select @@log_slow_verbosity; # # Check which fields are in slow_log table # show fields from mysql.slow_log; # # Check flush command # flush slow logs; # MDEV-4206 (empty filter should be no filter) set long_query_time=0.1; set log_slow_filter=''; set slow_query_log=1; set global log_output='TABLE'; select sleep(0.5); select count(*) FROM mysql.slow_log; # Reset used variables set @@long_query_time=default; set @@slow_query_log=default; set @@log_slow_filter=default; set @@log_slow_verbosity=default; set global log_output= default; truncate mysql.slow_log; --echo # --echo # MDEV-18333 Slow_queries count doesn't increase when slow_query_log is turned off --echo # SET SESSION slow_query_log=OFF; SET GLOBAL slow_query_log=OFF; SET long_query_time=0.1; --echo # Although this query is disallowed by slow_query_log, it should still increment Slow_queries SELECT VARIABLE_VALUE INTO @global_slow_queries FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME='SLOW_QUERIES'; SELECT sleep(0.2) INTO @tmp FROM DUAL; SELECT CAST(VARIABLE_VALUE AS UNSIGNED)-@global_slow_queries AS Slow_queries_increment FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME='SLOW_QUERIES'; --echo # Although this query is disallowed by log_slow_filter, it should still increment Slow_queries SET log_slow_filter=filesort; SELECT sleep(0.2) INTO @tmp FROM DUAL; SELECT VARIABLE_VALUE INTO @global_slow_queries FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME='SLOW_QUERIES'; SELECT sleep(0.2) INTO @tmp FROM DUAL; SELECT CAST(VARIABLE_VALUE AS UNSIGNED)-@global_slow_queries AS Slow_queries_increment FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME='SLOW_QUERIES'; SET log_slow_filter=DEFAULT; SET @@long_query_time=default; SET GLOBAL slow_query_log= @org_slow_query_log; --echo # --echo # MDEV-21187: log_slow_filter="" logs queries not using indexes --echo # flush status; create table t (id int); insert into t values (1),(4); set log_slow_filter=''; select * from t; show session status like 'Slow_queries'; drop table t; --echo # --echo # End of 10.3 tests --echo #