mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Fix sporadic failure of set_statement mtr test.
On Windows with low precision (10-16 ms) timer used for timing queries, the statement "set @@long_query_time=0.01" can log itself a slow if it spawn more single timer tick. The fix is to filter this query out from "SELECT FROM mysql.slow_log" results
This commit is contained in:
parent
1859caf60b
commit
9ff93656ae
2 changed files with 14 additions and 14 deletions
|
@ -1056,7 +1056,7 @@ set statement slow_query_log=default for select @@slow_query_log;
|
|||
truncate table mysql.slow_log;
|
||||
set slow_query_log= 1;
|
||||
set global log_output='TABLE';
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
sql_text
|
||||
set @@long_query_time=0.01;
|
||||
#should be written
|
||||
|
@ -1064,7 +1064,7 @@ select sleep(0.1);
|
|||
sleep(0.1)
|
||||
0
|
||||
set @@long_query_time=@save_long_query_time;
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
sql_text
|
||||
select sleep(0.1)
|
||||
#---
|
||||
|
@ -1072,7 +1072,7 @@ select sleep(0.1)
|
|||
set statement long_query_time=0.01 for select sleep(0.1);
|
||||
sleep(0.1)
|
||||
0
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
sql_text
|
||||
select sleep(0.1)
|
||||
set statement long_query_time=0.01 for select sleep(0.1)
|
||||
|
@ -1083,7 +1083,7 @@ set statement slow_query_log=0 for select sleep(0.1);
|
|||
sleep(0.1)
|
||||
0
|
||||
set @@long_query_time=@save_long_query_time;
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
sql_text
|
||||
select sleep(0.1)
|
||||
set statement long_query_time=0.01 for select sleep(0.1)
|
||||
|
@ -1092,7 +1092,7 @@ set statement long_query_time=0.01 for select sleep(0.1)
|
|||
set statement long_query_time=0.01,log_slow_filter='full_scan' for select sleep(0.1);
|
||||
sleep(0.1)
|
||||
0
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
sql_text
|
||||
select sleep(0.1)
|
||||
set statement long_query_time=0.01 for select sleep(0.1)
|
||||
|
@ -1101,7 +1101,7 @@ set statement long_query_time=0.01 for select sleep(0.1)
|
|||
set statement long_query_time=0.01,log_slow_rate_limit=9999 for select sleep(0.1);
|
||||
sleep(0.1)
|
||||
0
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
sql_text
|
||||
select sleep(0.1)
|
||||
set statement long_query_time=0.01 for select sleep(0.1)
|
||||
|
@ -1110,7 +1110,7 @@ set statement long_query_time=0.01 for select sleep(0.1)
|
|||
set statement long_query_time=0.01,min_examined_row_limit=50 for select sleep(0.1);
|
||||
sleep(0.1)
|
||||
0
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
sql_text
|
||||
select sleep(0.1)
|
||||
set statement long_query_time=0.01 for select sleep(0.1)
|
||||
|
|
|
@ -1003,34 +1003,34 @@ truncate table mysql.slow_log;
|
|||
set slow_query_log= 1;
|
||||
set global log_output='TABLE';
|
||||
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
set @@long_query_time=0.01;
|
||||
--echo #should be written
|
||||
select sleep(0.1);
|
||||
set @@long_query_time=@save_long_query_time;
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
--echo #---
|
||||
--echo #should be written
|
||||
set statement long_query_time=0.01 for select sleep(0.1);
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
--echo #---
|
||||
set @@long_query_time=0.01;
|
||||
--echo #should NOT be written
|
||||
set statement slow_query_log=0 for select sleep(0.1);
|
||||
set @@long_query_time=@save_long_query_time;
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
--echo #---
|
||||
--echo #should NOT be written
|
||||
set statement long_query_time=0.01,log_slow_filter='full_scan' for select sleep(0.1);
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
--echo #---
|
||||
--echo #should NOT be written
|
||||
set statement long_query_time=0.01,log_slow_rate_limit=9999 for select sleep(0.1);
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
--echo #---
|
||||
--echo #should NOT be written
|
||||
set statement long_query_time=0.01,min_examined_row_limit=50 for select sleep(0.1);
|
||||
select sql_text from mysql.slow_log;
|
||||
select sql_text from mysql.slow_log where sql_text not like 'set @@long_query_time%';
|
||||
--echo #---
|
||||
#
|
||||
# log_slow_verbosity is impossible to check because results are not written
|
||||
|
|
Loading…
Reference in a new issue