summaryrefslogtreecommitdiff
path: root/sql/sql_derived.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_derived.cc')
-rw-r--r--sql/sql_derived.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index e1d701936cf..fc9d15e94c4 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -114,6 +114,10 @@ int mysql_derived_prepare(THD *thd, LEX *lex, TABLE_LIST *orig_table_list)
bool is_union= first_select->next_select() &&
first_select->next_select()->linkage == UNION_TYPE;
+ /* prevent name resolving out of derived table */
+ for (SELECT_LEX *sl= first_select; sl; sl= sl->next_select())
+ sl->context.outer_context= 0;
+
if (!(derived_result= new select_union(0)))
DBUG_RETURN(1); // out of memory