From ff59a22d043777c61c468cd198e22477db49aa63 Mon Sep 17 00:00:00 2001
From: unknown <serg@serg.mysql.com>
Date: Fri, 5 Jan 2001 23:31:34 +0100
Subject: [PATCH] sql_select.cc	check for cond==NULL in add_ft_keys()
 fulltext_left_join.result	BitKeeper file
 /usr/home/serg/Abk/mysql/mysql-test/r/fulltext_left_join.result
 fulltext_left_join.test	BitKeeper file
 /usr/home/serg/Abk/mysql/mysql-test/t/fulltext_left_join.test

mysql-test/t/fulltext_left_join.test:
  edited
sql/sql_select.cc:
  check for cond==NULL in add_ft_keys()
---
 mysql-test/r/fulltext_left_join.result |  5 +++++
 mysql-test/t/fulltext_left_join.test   | 25 +++++++++++++++++++++++++
 sql/sql_select.cc                      |  3 +++
 3 files changed, 33 insertions(+)
 create mode 100644 mysql-test/r/fulltext_left_join.result
 create mode 100644 mysql-test/t/fulltext_left_join.test

diff --git a/mysql-test/r/fulltext_left_join.result b/mysql-test/r/fulltext_left_join.result
new file mode 100644
index 0000000000..04244e309e
--- /dev/null
+++ b/mysql-test/r/fulltext_left_join.result
@@ -0,0 +1,5 @@
+match(t1.texte,t1.sujet,t1.motsclefs) against('droit')
+0
+0
+0.67003110026735
+0
diff --git a/mysql-test/t/fulltext_left_join.test b/mysql-test/t/fulltext_left_join.test
new file mode 100644
index 0000000000..bbe2beb7d0
--- /dev/null
+++ b/mysql-test/t/fulltext_left_join.test
@@ -0,0 +1,25 @@
+#
+# Test for bug from Jean-Cédric COSTA <jean-cedric.costa@ensmp.fr>
+#
+
+CREATE TABLE t1 (
+       id           VARCHAR(255) NOT NULL PRIMARY KEY,
+       sujet        VARCHAR(255),
+       motsclefs    TEXT,
+       texte        MEDIUMTEXT,
+       FULLTEXT(sujet, motsclefs, texte)
+);
+INSERT INTO t1 VALUES('123','toto','essai','test');
+INSERT INTO t1 VALUES('456','droit','penal','lawyer');
+INSERT INTO t1 VALUES('789','aaaaa','bbbbb','cccccc');
+CREATE TABLE t2 (
+       id         VARCHAR(255) NOT NULL,
+       author     VARCHAR(255) NOT NULL
+);
+INSERT INTO t2 VALUES('123', 'moi');
+INSERT INTO t2 VALUES('123', 'lui');
+INSERT INTO t2 VALUES('456', 'lui');
+
+select match(t1.texte,t1.sujet,t1.motsclefs) against('droit')
+       from t1 left join t2 on t2.id=t1.id;
+
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index fdd4541cfc..8e11d60fb6 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -1329,6 +1329,9 @@ add_ft_keys(DYNAMIC_ARRAY *keyuse_array,
 {
   Item_func_match *cond_func=NULL;
 
+  if (!cond)
+    return;
+
   if (cond->type() == Item::FUNC_ITEM)
   {
     Item_func *func=(Item_func *)cond,
-- 
2.30.9