summaryrefslogtreecommitdiff
path: root/sql/sql_base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r--sql/sql_base.cc12
1 files changed, 5 insertions, 7 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 37336a83bfb..7fbbecfc897 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -5838,9 +5838,7 @@ find_field_in_view(THD *thd, TABLE_LIST *table_list,
if (!my_strcasecmp(system_charset_info, field_it.name()->str, name))
{
// in PS use own arena or data will be freed after prepare
- if (register_tree_change &&
- thd->stmt_arena->is_stmt_prepare_or_first_stmt_execute())
- arena= thd->activate_stmt_arena_if_needed(&backup);
+ arena= thd->activate_stmt_arena_if_needed(&backup);
/*
create_item() may, or may not create a new Item, depending on
the column reference. See create_view_field() for details.
@@ -5861,10 +5859,10 @@ find_field_in_view(THD *thd, TABLE_LIST *table_list,
if (*ref && !(*ref)->is_autogenerated_name)
item->set_name(thd, (*ref)->name.str, (*ref)->name.length,
system_charset_info);
- if (register_tree_change)
- thd->change_item_tree(ref, item);
- else
- *ref= item;
+ /*
+ Do permanent name resolution.
+ */
+ *ref= item;
DBUG_RETURN((Field*) view_ref_found);
}
}