summaryrefslogtreecommitdiff
path: root/mysql-test/t/heap.test
diff options
context:
space:
mode:
authorpappa@c-5608e253.1238-1-64736c10.cust.bredbandsbolaget.se <>2005-11-08 00:26:37 -0500
committerpappa@c-5608e253.1238-1-64736c10.cust.bredbandsbolaget.se <>2005-11-08 00:26:37 -0500
commit4282ad92cb01dc8b4aad8e66829915492007da61 (patch)
treec9d5aa727d72266be0ab83ff53f139f4209b6e51 /mysql-test/t/heap.test
parent79aaf0754d14b3a06b63fdfc5705064f6140cd1a (diff)
downloadmariadb-git-4282ad92cb01dc8b4aad8e66829915492007da61.tar.gz
Bug #12796: Record lost in HEAP table
Two handler objects were present, one was used for an insert and the other for a select The state of the statistics was local to the handler object and thus the other handler object didn't notice the insert. Fix included: 1) Add a new variable key_stat_version added to whenever statistics was considered in need of update (previously key_stats_ok= FALSE in those places) 2) Add a new handler variable key_stat_version assigned whenever key_stats_ok= TRUE was set previously 3) Fix records_in_range to return records if records <= 1 4) Fix records_in_range to add 2 to rec_per_key to ensure we don't specify 0 or 1 when it isn't and thus invoking incorrect optimisations. 5) Fix unique key handling for HEAP table in records_in_range
Diffstat (limited to 'mysql-test/t/heap.test')
-rw-r--r--mysql-test/t/heap.test11
1 files changed, 11 insertions, 0 deletions
diff --git a/mysql-test/t/heap.test b/mysql-test/t/heap.test
index 270b8a1df6f..a8128b79e3b 100644
--- a/mysql-test/t/heap.test
+++ b/mysql-test/t/heap.test
@@ -234,4 +234,15 @@ insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
drop table t1;
+#
+# Bug 12796: Record doesn't show when selecting through index
+#
+CREATE TABLE t1 (a int, key(a)) engine=heap;
+insert delayed into t1 values (0);
+delete from t1;
+select * from t1;
+insert delayed into t1 values (0), (1);
+select * from t1 where a = 0;
+drop table t1;
+
# End of 4.1 tests