Loading mysql-test/r/view.result +6 −0 Original line number Diff line number Diff line Loading @@ -2190,3 +2190,9 @@ create table t1 (s1 int); create view abc as select * from t1 as abc; drop table t1; drop view abc; create table t1(f1 char(1)); create view v1 as select * from t1; select * from (select f1 as f2 from v1) v where v.f2='a'; f2 drop view v1; drop table t1; mysql-test/t/view.test +9 −0 Original line number Diff line number Diff line Loading @@ -2068,3 +2068,12 @@ create table t1 (s1 int); create view abc as select * from t1 as abc; drop table t1; drop view abc; # # Bug #12993 View column rename broken in subselect # create table t1(f1 char(1)); create view v1 as select * from t1; select * from (select f1 as f2 from v1) v where v.f2='a'; drop view v1; drop table t1; sql/sql_base.cc +5 −0 Original line number Diff line number Diff line Loading @@ -2650,10 +2650,15 @@ find_field_in_view(THD *thd, TABLE_LIST *table_list, *ref != NULL means that *ref contains the item that we need to replace. If the item was aliased by the user, set the alias to the replacing item. We need to set alias on both ref itself and on ref real item. */ if (*ref && !(*ref)->is_autogenerated_name) { item->set_name((*ref)->name, (*ref)->name_length, system_charset_info); item->real_item()->set_name((*ref)->name, (*ref)->name_length, system_charset_info); } if (register_tree_change) thd->change_item_tree(ref, item); else Loading Loading
mysql-test/r/view.result +6 −0 Original line number Diff line number Diff line Loading @@ -2190,3 +2190,9 @@ create table t1 (s1 int); create view abc as select * from t1 as abc; drop table t1; drop view abc; create table t1(f1 char(1)); create view v1 as select * from t1; select * from (select f1 as f2 from v1) v where v.f2='a'; f2 drop view v1; drop table t1;
mysql-test/t/view.test +9 −0 Original line number Diff line number Diff line Loading @@ -2068,3 +2068,12 @@ create table t1 (s1 int); create view abc as select * from t1 as abc; drop table t1; drop view abc; # # Bug #12993 View column rename broken in subselect # create table t1(f1 char(1)); create view v1 as select * from t1; select * from (select f1 as f2 from v1) v where v.f2='a'; drop view v1; drop table t1;
sql/sql_base.cc +5 −0 Original line number Diff line number Diff line Loading @@ -2650,10 +2650,15 @@ find_field_in_view(THD *thd, TABLE_LIST *table_list, *ref != NULL means that *ref contains the item that we need to replace. If the item was aliased by the user, set the alias to the replacing item. We need to set alias on both ref itself and on ref real item. */ if (*ref && !(*ref)->is_autogenerated_name) { item->set_name((*ref)->name, (*ref)->name_length, system_charset_info); item->real_item()->set_name((*ref)->name, (*ref)->name_length, system_charset_info); } if (register_tree_change) thd->change_item_tree(ref, item); else Loading