summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorserg@serg.mylan <>2005-03-14 11:04:42 +0100
committerserg@serg.mylan <>2005-03-14 11:04:42 +0100
commitada959edf83e1560f1770bd6a831fd670050e5cf (patch)
treea33cb38030f4e9f10952cc9ce0e35488b230d788
parenta6b3b8fa98305862172fb1b267f11f06004a929f (diff)
downloadmariadb-git-ada959edf83e1560f1770bd6a831fd670050e5cf.tar.gz
anotehr fix for Item_func_isnotnull::not_null_tables()
-rw-r--r--mysql-test/r/join_outer.result4
-rw-r--r--mysql-test/t/join_outer.test1
-rw-r--r--sql/item_cmpfunc.h3
3 files changed, 7 insertions, 1 deletions
diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result
index c278e50afdc..15131b90a7a 100644
--- a/mysql-test/r/join_outer.result
+++ b/mysql-test/r/join_outer.result
@@ -653,6 +653,10 @@ i i i
select * from t1 natural left join t2 where (t2.i is not null)=0;
i i
1 NULL
+select * from t1 natural left join t2 where (t2.i is not null) is not null;
+i i
+1 NULL
+2 2
drop table t1,t2,t3;
create table t1 (f1 integer,f2 integer,f3 integer);
create table t2 (f2 integer,f4 integer);
diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test
index 31ddcfd7cf4..00f7e5f00bf 100644
--- a/mysql-test/t/join_outer.test
+++ b/mysql-test/t/join_outer.test
@@ -431,6 +431,7 @@ insert into t2 values(2),(3);
insert into t3 values(2),(4);
select * from t1 natural left join t2 natural left join t3;
select * from t1 natural left join t2 where (t2.i is not null)=0;
+select * from t1 natural left join t2 where (t2.i is not null) is not null;
drop table t1,t2,t3;
#
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index 522f93b5e77..63e7a93d43a 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -916,7 +916,8 @@ public:
}
const char *func_name() const { return "isnotnull"; }
optimize_type select_optimize() const { return OPTIMIZE_NULL; }
- table_map not_null_tables() const { return abort_on_null ? used_tables() : 0; }
+ table_map not_null_tables() const
+ { return abort_on_null ? not_null_tables_cache : 0; }
Item *neg_transformer(THD *thd);
void print(String *str);
CHARSET_INFO *compare_collation() { return args[0]->collation.collation; }