Commit 70e1974f authored by evgen@moonbone.local's avatar evgen@moonbone.local

Fix bug #14850 Item_ref's null_value wasn't updated

Item_ref's null_value wasn't updated in save_org_in_field() causing reported
error.
parent 43bbd352
...@@ -2385,3 +2385,11 @@ show create view v1; ...@@ -2385,3 +2385,11 @@ show create view v1;
View Create View View Create View
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1`
drop view v1; drop view v1;
create table t1(f1 int, f2 int);
insert into t1 values (null, 10), (null,2);
create view v1 as select * from t1;
select f1, sum(f2) from v1 group by f1;
f1 sum(f2)
NULL 12
drop view v1;
drop table t1;
...@@ -2253,3 +2253,13 @@ drop view v1; ...@@ -2253,3 +2253,13 @@ drop view v1;
create definer = current_user sql security invoker view v1 as select 1; create definer = current_user sql security invoker view v1 as select 1;
show create view v1; show create view v1;
drop view v1; drop view v1;
#
# Bug #14850 Item_ref's values wasn't updated
#
create table t1(f1 int, f2 int);
insert into t1 values (null, 10), (null,2);
create view v1 as select * from t1;
select f1, sum(f2) from v1 group by f1;
drop view v1;
drop table t1;
...@@ -1603,7 +1603,11 @@ public: ...@@ -1603,7 +1603,11 @@ public:
void make_field(Send_field *field); void make_field(Send_field *field);
bool fix_fields(THD *, Item **); bool fix_fields(THD *, Item **);
int save_in_field(Field *field, bool no_conversions); int save_in_field(Field *field, bool no_conversions);
void save_org_in_field(Field *field) { (*ref)->save_org_in_field(field); } void save_org_in_field(Field *field)
{
(*ref)->save_org_in_field(field);
null_value= (*ref)->null_value;
}
enum Item_result result_type () const { return (*ref)->result_type(); } enum Item_result result_type () const { return (*ref)->result_type(); }
enum_field_types field_type() const { return (*ref)->field_type(); } enum_field_types field_type() const { return (*ref)->field_type(); }
Field *get_tmp_table_field() Field *get_tmp_table_field()
......
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