mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
This commit is contained in:
@ -308,7 +308,7 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
|
|||||||
Hack: instead of init_queue, we'll use reinit queue to be able
|
Hack: instead of init_queue, we'll use reinit queue to be able
|
||||||
to alloc queue with alloc_root()
|
to alloc queue with alloc_root()
|
||||||
*/
|
*/
|
||||||
res=ftb->queue.max_elements=1+query_len/(ft_min_word_len+1);
|
res=ftb->queue.max_elements=1+query_len/(min(ft_min_word_len,2)+1);
|
||||||
ftb->queue.root=(byte **)alloc_root(&ftb->mem_root, (res+1)*sizeof(void*));
|
ftb->queue.root=(byte **)alloc_root(&ftb->mem_root, (res+1)*sizeof(void*));
|
||||||
reinit_queue(& ftb->queue, res, 0, 0,
|
reinit_queue(& ftb->queue, res, 0, 0,
|
||||||
(int (*)(void*,byte*,byte*))FTB_WORD_cmp, 0);
|
(int (*)(void*,byte*,byte*))FTB_WORD_cmp, 0);
|
||||||
|
@ -266,4 +266,6 @@ insert into t2 values (3, 1, 'xxbuz');
|
|||||||
select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
|
select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
|
||||||
t1_id name t2_id t1_id name
|
t1_id name t2_id t1_id name
|
||||||
1 data1 1 1 xxfoo
|
1 data1 1 1 xxfoo
|
||||||
|
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;
|
drop table t1,t2;
|
||||||
|
@ -213,5 +213,11 @@ insert into t2 values (1, 1, 'xxfoo');
|
|||||||
insert into t2 values (2, 1, 'xxbar');
|
insert into t2 values (2, 1, 'xxbar');
|
||||||
insert into t2 values (3, 1, 'xxbuz');
|
insert into t2 values (3, 1, 'xxbuz');
|
||||||
select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
|
select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
|
||||||
|
|
||||||
|
#
|
||||||
|
# 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;
|
drop table t1,t2;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user