diff options
author | unknown <svoj@april.(none)> | 2006-05-11 21:15:37 +0500 |
---|---|---|
committer | unknown <svoj@april.(none)> | 2006-05-11 21:15:37 +0500 |
commit | ca88ca16d09004430bfff91f188a94c4967a4a5a (patch) | |
tree | fd49c86fda5c965f3578c980c683b4cde3dc6a46 | |
parent | 60bb69aa04a1795d6c1156e9814ce446662a8967 (diff) | |
download | mariadb-git-ca88ca16d09004430bfff91f188a94c4967a4a5a.tar.gz |
BUG#12873 - BTREE index on MEMORY table with multiple NULL values
doesn't work properly
Unique BTREE index on MEMORY table refuse multiple NULL values.
Fixed search_flag to allow multiple null values inside unique key.
heap/hp_write.c:
Fixed search_flag to allow multiple null values inside unique key.
mysql-test/r/heap_btree.result:
Testcase for BUG#12873.
mysql-test/t/heap_btree.test:
Testcase for BUG#12873.
-rw-r--r-- | heap/hp_write.c | 2 | ||||
-rw-r--r-- | mysql-test/r/heap_btree.result | 3 | ||||
-rw-r--r-- | mysql-test/t/heap_btree.test | 8 |
3 files changed, 12 insertions, 1 deletions
diff --git a/heap/hp_write.c b/heap/hp_write.c index a60d32eecb6..bc94e3bfae4 100644 --- a/heap/hp_write.c +++ b/heap/hp_write.c @@ -105,7 +105,7 @@ int hp_rb_write_key(HP_INFO *info, HP_KEYDEF *keyinfo, const byte *record, custom_arg.key_length= hp_rb_make_key(keyinfo, info->recbuf, record, recpos); if (keyinfo->flag & HA_NOSAME) { - custom_arg.search_flag= SEARCH_FIND | SEARCH_SAME | SEARCH_UPDATE; + custom_arg.search_flag= SEARCH_FIND | SEARCH_UPDATE; keyinfo->rb_tree.flag= TREE_NO_DUPS; } else diff --git a/mysql-test/r/heap_btree.result b/mysql-test/r/heap_btree.result index b63eaf7e48c..4b05e8f44e1 100644 --- a/mysql-test/r/heap_btree.result +++ b/mysql-test/r/heap_btree.result @@ -256,3 +256,6 @@ SELECT INDEX_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=DATABASE() INDEX_LENGTH 21 DROP TABLE t1; +CREATE TABLE t1 (a INT, UNIQUE USING BTREE(a)) ENGINE=MEMORY; +INSERT INTO t1 VALUES(NULL),(NULL); +DROP TABLE t1; diff --git a/mysql-test/t/heap_btree.test b/mysql-test/t/heap_btree.test index f1b9d290885..fb715fccefe 100644 --- a/mysql-test/t/heap_btree.test +++ b/mysql-test/t/heap_btree.test @@ -176,4 +176,12 @@ UPDATE t1 SET val=1; SELECT INDEX_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='t1'; DROP TABLE t1; +# +# BUG#12873 - BTREE index on MEMORY table with multiple NULL values doesn't +# work properly +# +CREATE TABLE t1 (a INT, UNIQUE USING BTREE(a)) ENGINE=MEMORY; +INSERT INTO t1 VALUES(NULL),(NULL); +DROP TABLE t1; + # End of 4.1 tests |