summaryrefslogtreecommitdiff
path: root/mysql-test/t/heap_hash.test
diff options
context:
space:
mode:
authorunknown <ingo@mysql.com>2005-06-24 17:47:09 +0200
committerunknown <ingo@mysql.com>2005-06-24 17:47:09 +0200
commita7e66efc2cc37b8ca32868ac8c8e3e3c05675e48 (patch)
treecdb8c2576769d4678d13b4b2a6b8cc5d2eafd5f5 /mysql-test/t/heap_hash.test
parent5aa793f72bfdf5e5903ad4999691fdb72f507de3 (diff)
downloadmariadb-git-a7e66efc2cc37b8ca32868ac8c8e3e3c05675e48.tar.gz
Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
Moved the key statistics update to info(). The table is not locked in open(). This made wrong stats possible. No test case for the test suite. This happens only with heavy concurrency. A test script is added to the bug report. mysql-test/r/heap_hash.result: Bug#10178 - failure to find a row in heap table by concurrent UPDATEs Updated test results to reflect the new statistics behaviour. mysql-test/t/heap_hash.test: Bug#10178 - failure to find a row in heap table by concurrent UPDATEs Added a FLUSH TABLES to avoid statistics differences between normal and ps-protocol tests. sql/ha_heap.cc: Bug#10178 - failure to find a row in heap table by concurrent UPDATEs Moved the key statistics update to info(). The table is not locked in open(). This made wrong stats possible. sql/ha_heap.h: Bug#10178 - failure to find a row in heap table by concurrent UPDATEs Added an element to track the validity of the key statistics.
Diffstat (limited to 'mysql-test/t/heap_hash.test')
-rw-r--r--mysql-test/t/heap_hash.test2
1 files changed, 2 insertions, 0 deletions
diff --git a/mysql-test/t/heap_hash.test b/mysql-test/t/heap_hash.test
index 6d27f19dfad..59af50da932 100644
--- a/mysql-test/t/heap_hash.test
+++ b/mysql-test/t/heap_hash.test
@@ -169,6 +169,8 @@ explain select * from t1 where a='aaac';
explain select * from t1 where a='aaad';
insert into t1 select * from t1;
+# avoid statistics differences between normal and ps-protocol tests
+flush tables;
explain select * from t1 where a='aaaa';
explain select * from t1 where a='aaab';
explain select * from t1 where a='aaac';