diff options
author | unknown <serg@serg.mylan> | 2004-10-29 14:24:06 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2004-10-29 14:24:06 +0200 |
commit | 13ff3fa4b92642779c260c9fcd56ea2e5c96391c (patch) | |
tree | 470f639c064715a7b27df2392021dbaa6ad329cb | |
parent | 55833fb49bf8570ee11d4b85b143a9a3975733fa (diff) | |
download | mariadb-git-13ff3fa4b92642779c260c9fcd56ea2e5c96391c.tar.gz |
proper max_records estimation for sort-repair of fulltext indexes
mysql-test/t/ctype_utf8.test:
bad merge fixed
-rw-r--r-- | myisam/mi_check.c | 2 | ||||
-rw-r--r-- | mysql-test/r/fulltext.result | 3 | ||||
-rw-r--r-- | mysql-test/t/ctype_utf8.test | 1 | ||||
-rw-r--r-- | mysql-test/t/fulltext.test | 9 |
4 files changed, 13 insertions, 2 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c index 4da388af1c7..1df518a2712 100644 --- a/myisam/mi_check.c +++ b/myisam/mi_check.c @@ -2037,7 +2037,7 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info, uint ft_max_word_len_for_sort=FT_MAX_WORD_LEN_FOR_SORT* sort_param.keyinfo->seg->charset->mbmaxlen; sort_info.max_records= - (ha_rows) (sort_info.filelength/ft_max_word_len_for_sort+1); + (ha_rows) (sort_info.filelength/ft_min_word_len+1); sort_param.key_read=sort_ft_key_read; sort_param.key_write=sort_ft_key_write; diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index 30c4c75f3d1..65f88932d54 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -330,6 +330,9 @@ t1_id name t2_id t1_id name select * from t2 where match name against ('a* b* c* d* e* f*' in boolean mode); t2_id t1_id name drop table t1,t2; +create table t1 (a text, fulltext key (a)); +insert into t1 select "xxxx yyyy zzzz"; +drop table t1; SET NAMES latin1; CREATE TABLE t1 (t text character set utf8 not null, fulltext(t)); INSERT t1 VALUES ('Mit freundlichem Grüß'), ('aus Osnabrück'); diff --git a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test index 0c8bdd6a94d..c75b1dee63c 100644 --- a/mysql-test/t/ctype_utf8.test +++ b/mysql-test/t/ctype_utf8.test @@ -645,6 +645,7 @@ insert into t1 values(1,'foo'),(2,'foobar'); select * from t1 where b like 'foob%'; --disable_warnings alter table t1 engine=bdb; +--enable_warnings select * from t1 where b like 'foob%'; drop table t1; diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index 66df5b1cb92..5af2575ddc4 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -253,10 +253,17 @@ select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against(' # bug with many short (< ft_min_word_len) words in boolean search # select * from t2 where match name against ('a* b* c* d* e* f*' in boolean mode); - drop table t1,t2; # +# bug with repair-by-sort and incorrect records estimation +# + +create table t1 (a text, fulltext key (a)); +insert into t1 select "xxxx yyyy zzzz"; +drop table t1; + +# # UTF8 # SET NAMES latin1; |