Commit a7f2179c authored by serg@serg.mylan's avatar serg@serg.mylan

BUG#12695: Item_func_isnull::update_used_tables did not update const_item_cache

parent 5fa2cea1
...@@ -764,3 +764,12 @@ select date(left(f1+0,8)) from t1 group by 1; ...@@ -764,3 +764,12 @@ select date(left(f1+0,8)) from t1 group by 1;
date(left(f1+0,8)) date(left(f1+0,8))
2005-06-06 2005-06-06
drop table t1; drop table t1;
create table t1(f1 varchar(5) key);
insert into t1 values (1),(2);
select sql_buffer_result max(f1) is null from t1;
max(f1) is null
0
select sql_buffer_result max(f1)+1 from t1;
max(f1)+1
3
drop table t1;
...@@ -600,4 +600,14 @@ insert into t1 values('2005-06-06'); ...@@ -600,4 +600,14 @@ insert into t1 values('2005-06-06');
select date(left(f1+0,8)) from t1 group by 1; select date(left(f1+0,8)) from t1 group by 1;
drop table t1; drop table t1;
#
# BUG#12695: Item_func_isnull::update_used_tables
# did not update const_item_cache
#
create table t1(f1 varchar(5) key);
insert into t1 values (1),(2);
select sql_buffer_result max(f1) is null from t1;
select sql_buffer_result max(f1)+1 from t1;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -805,7 +805,7 @@ public: ...@@ -805,7 +805,7 @@ public:
else else
{ {
args[0]->update_used_tables(); args[0]->update_used_tables();
if (!(used_tables_cache=args[0]->used_tables())) if ((const_item_cache= !(used_tables_cache= args[0]->used_tables())))
{ {
/* Remember if the value is always NULL or never NULL */ /* Remember if the value is always NULL or never NULL */
cached_value= (longlong) args[0]->is_null(); cached_value= (longlong) args[0]->is_null();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment