diff options
author | unknown <igor@olga.mysql.com> | 2007-01-22 14:23:53 -0800 |
---|---|---|
committer | unknown <igor@olga.mysql.com> | 2007-01-22 14:23:53 -0800 |
commit | 6d04643ab3b8ed31a693ac1df6dadc7da42c53b8 (patch) | |
tree | 500afccb281a0851b8b9c0ef56f7a51cd021b258 /mysql-test/t/fulltext_left_join.test | |
parent | b9dc0243a822df6484f91f15aa1734b84396ba7d (diff) | |
download | mariadb-git-6d04643ab3b8ed31a693ac1df6dadc7da42c53b8.tar.gz |
Fixed bug #25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches.
The bug is actually a duplicate of the bug 14708.
Down-ported the fix for 14708 from 5.0.
Merged the test case for bug 14708 from 5.0.
mysql-test/r/fulltext_left_join.result:
Added a test case for bug #25637 (duplicate .of bug 14708).
Merged the test case for bug 14708 from 5.0.
mysql-test/t/fulltext_left_join.test:
Added a test case for bug #25637 (duplicate of bug 14708).
Merged the test case for bug 14708 from 5.0.
sql/item_func.cc:
Fixed bug #25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches.
The bug is actually a duplicate of the bug 14708.
Down-ported the fix for 14708 from 5.0.
Diffstat (limited to 'mysql-test/t/fulltext_left_join.test')
-rw-r--r-- | mysql-test/t/fulltext_left_join.test | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mysql-test/t/fulltext_left_join.test b/mysql-test/t/fulltext_left_join.test index 3bb1f0b7309..516c006b109 100644 --- a/mysql-test/t/fulltext_left_join.test +++ b/mysql-test/t/fulltext_left_join.test @@ -45,4 +45,45 @@ select * from t1 left join t2 on (venue_id = entity_id and match(name) against(' select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen')) where dt = '2003-05-23 19:30:00'; drop table t1,t2; +# +# BUG#14708 +# Inconsistent treatment of NULLs in LEFT JOINed FULLTEXT matching without index +# + +create table t1 (id int not null primary key, d char(200) not null, e char(200)); +insert into t1 values (1, 'aword', null), (2, 'aword', 'bword'), (3, 'bword', null), (4, 'bword', 'aword'), (5, 'aword and bword', null); +select * from t1 where match(d, e) against ('+aword +bword' in boolean mode); +create table t2 (m_id int not null, f char(200), key (m_id)); +insert into t2 values (1, 'bword'), (3, 'aword'), (5, ''); +select * from t1 left join t2 on m_id = id where match(d, e, f) against ('+aword +bword' in boolean mode); +drop table t1,t2; + +# +# BUG#25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches +# (this is actually the same bug as bug #14708) +# + +CREATE TABLE t1 ( + id int(10) NOT NULL auto_increment, + link int(10) default NULL, + name mediumtext default NULL, + PRIMARY KEY (id), + FULLTEXT (name) +); +INSERT INTO t1 VALUES (1, 1, 'string'); +INSERT INTO t1 VALUES (2, 0, 'string'); +CREATE TABLE t2 ( + id int(10) NOT NULL auto_increment, + name mediumtext default NULL, + PRIMARY KEY (id), + FULLTEXT (name) +); +INSERT INTO t2 VALUES (1, 'string'); + +SELECT t1.*, MATCH(t1.name) AGAINST('string') AS relevance + FROM t1 LEFT JOIN t2 ON t1.link = t2.id + WHERE MATCH(t1.name, t2.name) AGAINST('string' IN BOOLEAN MODE); + +DROP TABLE t1,t2; + # End of 4.1 tests |