Below is the list of changes that have just been committed into a local
5.1 repository of serg. When serg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2184 06/06/07 18:09:40 serg@stripped +3 -0
Bug#14708: Inconsistent treatment of NULLs in LEFT JOINed FULLTEXT matching without
index
Don't rely on table->null_row when no index is used - it may be a multi-table search
sql/item_func.cc
1.296 06/06/07 18:09:04 serg@stripped +1 -1
Bug#14708: Inconsistent treatment of NULLs in LEFT JOINed FULLTEXT matching without
index
Don't rely on table->null_row when no index is used - it may be a multi-table
search
mysql-test/t/fulltext_left_join.test
1.13 06/06/07 18:09:04 serg@stripped +14 -1
Bug#14708: Inconsistent treatment of NULLs in LEFT JOINed FULLTEXT matching without
index
Don't rely on table->null_row when no index is used - it may be a multi-table
search
mysql-test/r/fulltext_left_join.result
1.13 06/06/07 18:09:04 serg@stripped +17 -0
Bug#14708: Inconsistent treatment of NULLs in LEFT JOINed FULLTEXT matching without
index
Don't rely on table->null_row when no index is used - it may be a multi-table
search
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: serg
# Host: serg.mylan
# Root: /usr/home/serg/Abk/mysql-5.1
--- 1.295/sql/item_func.cc Sun Jun 4 18:23:40 2006
+++ 1.296/sql/item_func.cc Wed Jun 7 18:09:04 2006
@@ -4516,7 +4516,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 */
DBUG_RETURN(0.0);
if (join_key)
--- 1.12/mysql-test/r/fulltext_left_join.result Tue Oct 26 18:29:53 2004
+++ 1.13/mysql-test/r/fulltext_left_join.result Wed Jun 7 18:09:04 2006
@@ -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;
--- 1.12/mysql-test/t/fulltext_left_join.test Thu Jul 28 02:21:41 2005
+++ 1.13/mysql-test/t/fulltext_left_join.test Wed Jun 7 18:09:04 2006
@@ -32,7 +32,7 @@ select match(t1.texte,t1.sujet,t1.motscl
drop table t1, t2;
#
-# Bug #484, reported by Stephen Brandon <stephen@stripped>
+# BUG#484, reported by Stephen Brandon <stephen@stripped>
#
create table t1 (venue_id int(11) default null, venue_text varchar(255) default null, dt
datetime default null) engine=myisam;
@@ -43,6 +43,19 @@ select * from t1 left join t2 on venue_i
select * from t1 left join t2 on venue_id = entity_id where match(name)
against('aberdeen') and dt = '2003-05-23 19:30:00';
select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen'
in boolean mode)) where dt = '2003-05-23 19:30:00';
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
| Thread |
|---|
| • bk commit into 5.1 tree (serg:1.2184) BUG#14708 | Sergei Golubchik | 7 Jun |