List:Commits« Previous MessageNext Message »
From:Sergei Golubchik Date:June 16 2006 9:49am
Subject:bk commit into 5.0 tree (serg:1.2165) BUG#14708
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 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.2165 06/06/16 09:49:18 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.279 06/06/16 09:48:54 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/16 09:48:54 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/16 09:48:54 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.0

--- 1.278/sql/item_func.cc	Fri Apr 14 01:02:23 2006
+++ 1.279/sql/item_func.cc	Fri Jun 16 09:48:54 2006
@@ -4482,7 +4482,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)

--- 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	Fri Jun 16 09:48:54 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	Fri Jun 16 09:48:54 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.0 tree (serg:1.2165) BUG#14708Sergei Golubchik16 Jun