summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2016-06-03 19:22:47 +0000
committerVladislav Vaintroub <wlad@mariadb.com>2016-06-03 19:22:47 +0000
commit9ff93656ae072cb95ad7e9404819f2cfbfbda0bc (patch)
tree1a1fe914a0b6c1fdb26d0bb9d2de5d8c0b1e1c31
parent1859caf60b725f81f2ac6091eb44cb848a4a439a (diff)
downloadmariadb-git-9ff93656ae072cb95ad7e9404819f2cfbfbda0bc.tar.gz
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
-rw-r--r--mysql-test/r/set_statement.result14
-rw-r--r--mysql-test/t/set_statement.test14
2 files changed, 14 insertions, 14 deletions
diff --git a/mysql-test/r/set_statement.result b/mysql-test/r/set_statement.result
index ad6f3b7bf2e..adb50afde99 100644
--- a/mysql-test/r/set_statement.result
+++ b/mysql-test/r/set_statement.result
@@ -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)
diff --git a/mysql-test/t/set_statement.test b/mysql-test/t/set_statement.test
index 5d6206335fb..a91c53c8dee 100644
--- a/mysql-test/t/set_statement.test
+++ b/mysql-test/t/set_statement.test
@@ -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