1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

proper max_records estimation for sort-repair of fulltext indexes

mysql-test/t/ctype_utf8.test:
  bad merge fixed
This commit is contained in:
unknown
2004-10-29 14:24:06 +02:00
parent 55833fb49b
commit 13ff3fa4b9
4 changed files with 13 additions and 2 deletions

View File

@ -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* uint ft_max_word_len_for_sort=FT_MAX_WORD_LEN_FOR_SORT*
sort_param.keyinfo->seg->charset->mbmaxlen; sort_param.keyinfo->seg->charset->mbmaxlen;
sort_info.max_records= 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_read=sort_ft_key_read;
sort_param.key_write=sort_ft_key_write; sort_param.key_write=sort_ft_key_write;

View File

@ -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); select * from t2 where match name against ('a* b* c* d* e* f*' in boolean mode);
t2_id t1_id name t2_id t1_id name
drop table t1,t2; 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; SET NAMES latin1;
CREATE TABLE t1 (t text character set utf8 not null, fulltext(t)); CREATE TABLE t1 (t text character set utf8 not null, fulltext(t));
INSERT t1 VALUES ('Mit freundlichem Gr<47><72>'), ('aus Osnabr<62>ck'); INSERT t1 VALUES ('Mit freundlichem Gr<47><72>'), ('aus Osnabr<62>ck');

View File

@ -645,6 +645,7 @@ insert into t1 values(1,'foo'),(2,'foobar');
select * from t1 where b like 'foob%'; select * from t1 where b like 'foob%';
--disable_warnings --disable_warnings
alter table t1 engine=bdb; alter table t1 engine=bdb;
--enable_warnings
select * from t1 where b like 'foob%'; select * from t1 where b like 'foob%';
drop table t1; drop table t1;

View File

@ -253,9 +253,16 @@ 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 # 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); select * from t2 where match name against ('a* b* c* d* e* f*' in boolean mode);
drop table t1,t2; 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 # UTF8
# #