Loading mysql-test/r/fulltext_left_join.result +17 −0 Original line number Diff line number Diff line Loading @@ -50,3 +50,20 @@ venue_id venue_text dt name entity_id 1 a1 2003-05-23 19:30:00 aberdeen town hall 1 NULL a2 2003-05-23 19:30:00 NULL NULL drop table t1,t2; 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); id d e 2 aword bword 4 bword aword 5 aword and bword NULL 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); id d e m_id f 1 aword NULL 1 bword 2 aword bword NULL NULL 3 bword NULL 3 aword 4 bword aword NULL NULL 5 aword and bword NULL 5 drop table t1,t2; mysql-test/t/fulltext_left_join.test +14 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) drop table t1, t2; # # Bug #484, reported by Stephen Brandon <stephen@brandonitconsulting.co.uk> # BUG#484, reported by Stephen Brandon <stephen@brandonitconsulting.co.uk> # create table t1 (venue_id int(11) default null, venue_text varchar(255) default null, dt datetime default null) engine=myisam; Loading @@ -45,4 +45,17 @@ 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; # End of 4.1 tests sql/item_func.cc +1 −1 Original line number Diff line number Diff line Loading @@ -4512,7 +4512,7 @@ double Item_func_match::val_real() if (ft_handler == NULL) DBUG_RETURN(-1.0); if (table->null_row) /* NULL row from an outer join */ if (key != NO_SUCH_KEY && table->null_row) /* NULL row from an outer join */ return 0.0; if (join_key) Loading Loading
mysql-test/r/fulltext_left_join.result +17 −0 Original line number Diff line number Diff line Loading @@ -50,3 +50,20 @@ venue_id venue_text dt name entity_id 1 a1 2003-05-23 19:30:00 aberdeen town hall 1 NULL a2 2003-05-23 19:30:00 NULL NULL drop table t1,t2; 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); id d e 2 aword bword 4 bword aword 5 aword and bword NULL 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); id d e m_id f 1 aword NULL 1 bword 2 aword bword NULL NULL 3 bword NULL 3 aword 4 bword aword NULL NULL 5 aword and bword NULL 5 drop table t1,t2;
mysql-test/t/fulltext_left_join.test +14 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) drop table t1, t2; # # Bug #484, reported by Stephen Brandon <stephen@brandonitconsulting.co.uk> # BUG#484, reported by Stephen Brandon <stephen@brandonitconsulting.co.uk> # create table t1 (venue_id int(11) default null, venue_text varchar(255) default null, dt datetime default null) engine=myisam; Loading @@ -45,4 +45,17 @@ 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; # End of 4.1 tests
sql/item_func.cc +1 −1 Original line number Diff line number Diff line Loading @@ -4512,7 +4512,7 @@ double Item_func_match::val_real() if (ft_handler == NULL) DBUG_RETURN(-1.0); if (table->null_row) /* NULL row from an outer join */ if (key != NO_SUCH_KEY && table->null_row) /* NULL row from an outer join */ return 0.0; if (join_key) Loading