Merge fix for bug50351 to mysql-5.1-bugteam.
This commit is contained in:
commit
62c2ad09eb
@ -603,6 +603,26 @@ WHERE t3.a=t1.a AND MATCH(b2) AGAINST('scargill' IN BOOLEAN MODE)
|
|||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
DROP TABLE t1,t2,t3;
|
DROP TABLE t1,t2,t3;
|
||||||
|
CREATE TABLE t1 (a VARCHAR(4), FULLTEXT(a));
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('awrd'),('cwrd'),
|
||||||
|
('awrd');
|
||||||
|
SELECT COUNT(*) FROM t1 WHERE MATCH(a) AGAINST("+awrd bwrd* +cwrd*" IN BOOLEAN MODE);
|
||||||
|
COUNT(*)
|
||||||
|
0
|
||||||
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with
|
# Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with
|
||||||
# fulltext search and row op
|
# fulltext search and row op
|
||||||
|
@ -544,6 +544,27 @@ SELECT count(*) FROM t1 WHERE
|
|||||||
|
|
||||||
DROP TABLE t1,t2,t3;
|
DROP TABLE t1,t2,t3;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#50351 - ft_min_word_len=2 Causes query to hang
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a VARCHAR(4), FULLTEXT(a));
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),
|
||||||
|
('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('cwrd'),('awrd'),('cwrd'),
|
||||||
|
('awrd');
|
||||||
|
SELECT COUNT(*) FROM t1 WHERE MATCH(a) AGAINST("+awrd bwrd* +cwrd*" IN BOOLEAN MODE);
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with
|
--echo # Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with
|
||||||
|
@ -437,8 +437,18 @@ static int _ft2_search(FTB *ftb, FTB_WORD *ftbw, my_bool init_search)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* going up to the first-level tree to continue search there */
|
/*
|
||||||
|
Going up to the first-level tree to continue search there.
|
||||||
|
Only done when performing prefix search.
|
||||||
|
|
||||||
|
Key buffer data pointer as well as docid[0] may be smaller
|
||||||
|
than values we got while searching first-level tree. Thus
|
||||||
|
they must be restored to original values to avoid dead-loop,
|
||||||
|
when subsequent search for a bigger value eventually ends up
|
||||||
|
in this same second-level tree.
|
||||||
|
*/
|
||||||
_mi_dpointer(info, (uchar*) (lastkey_buf+HA_FT_WLEN), ftbw->key_root);
|
_mi_dpointer(info, (uchar*) (lastkey_buf+HA_FT_WLEN), ftbw->key_root);
|
||||||
|
ftbw->docid[0]= ftbw->key_root;
|
||||||
ftbw->key_root=info->s->state.key_root[ftb->keynr];
|
ftbw->key_root=info->s->state.key_root[ftb->keynr];
|
||||||
ftbw->keyinfo=info->s->keyinfo+ftb->keynr;
|
ftbw->keyinfo=info->s->keyinfo+ftb->keynr;
|
||||||
ftbw->off=0;
|
ftbw->off=0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user