Loading mysql-test/r/view.result +8 −0 Original line number Diff line number Diff line Loading @@ -2385,3 +2385,11 @@ show create view v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` 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; mysql-test/t/view.test +10 −0 Original line number Diff line number Diff line Loading @@ -2253,3 +2253,13 @@ drop view v1; create definer = current_user sql security invoker view v1 as select 1; show create 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; sql/item.h +5 −1 Original line number Diff line number Diff line Loading @@ -1603,7 +1603,11 @@ class Item_ref :public Item_ident void make_field(Send_field *field); bool fix_fields(THD *, Item **); 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_field_types field_type() const { return (*ref)->field_type(); } Field *get_tmp_table_field() Loading Loading
mysql-test/r/view.result +8 −0 Original line number Diff line number Diff line Loading @@ -2385,3 +2385,11 @@ show create view v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` 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;
mysql-test/t/view.test +10 −0 Original line number Diff line number Diff line Loading @@ -2253,3 +2253,13 @@ drop view v1; create definer = current_user sql security invoker view v1 as select 1; show create 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;
sql/item.h +5 −1 Original line number Diff line number Diff line Loading @@ -1603,7 +1603,11 @@ class Item_ref :public Item_ident void make_field(Send_field *field); bool fix_fields(THD *, Item **); 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_field_types field_type() const { return (*ref)->field_type(); } Field *get_tmp_table_field() Loading