diff options
author | serg@serg.mylan <> | 2005-03-14 11:04:42 +0100 |
---|---|---|
committer | serg@serg.mylan <> | 2005-03-14 11:04:42 +0100 |
commit | ada959edf83e1560f1770bd6a831fd670050e5cf (patch) | |
tree | a33cb38030f4e9f10952cc9ce0e35488b230d788 | |
parent | a6b3b8fa98305862172fb1b267f11f06004a929f (diff) | |
download | mariadb-git-ada959edf83e1560f1770bd6a831fd670050e5cf.tar.gz |
anotehr fix for Item_func_isnotnull::not_null_tables()
-rw-r--r-- | mysql-test/r/join_outer.result | 4 | ||||
-rw-r--r-- | mysql-test/t/join_outer.test | 1 | ||||
-rw-r--r-- | sql/item_cmpfunc.h | 3 |
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; } |