Commit bf124424 authored by unknown's avatar unknown
Browse files

Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt

into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/item_func.cc:
  Auto merged
parents acef88be 5d9d6493
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -67,3 +67,26 @@ id d e m_id f
4	bword	aword	NULL	NULL
5	aword and bword	NULL	5	
drop table t1,t2;
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);
id	link	name	relevance
1	1	string	0
2	0	string	0
DROP TABLE t1,t2;
+28 −0
Original line number Diff line number Diff line
@@ -58,4 +58,32 @@ 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