summaryrefslogtreecommitdiff
path: root/sql/sql_derived.cc
diff options
context:
space:
mode:
authorevgen@moonbone.local <>2005-08-10 17:45:00 +0400
committerevgen@moonbone.local <>2005-08-10 17:45:00 +0400
commitbaf0c9ad084a915f785b91608ecdf0e3f0122d30 (patch)
tree9daa110455c864e4bfbf2f5a8c350de43a71686e /sql/sql_derived.cc
parent5d3b406799e14cd20d1df397e0cdc20b766149f9 (diff)
downloadmariadb-git-baf0c9ad084a915f785b91608ecdf0e3f0122d30.tar.gz
Fix bug #11864 non unique names are allowed in subquery
Column names weren't checked for uniqueness for subqueries. Code for names uniqueness checking used for view creation moved into separate function named check_duplicate_names(). It's called on preparation of subqueries to check uniqueness of names. If duplicate names are found then error is raised.
Diffstat (limited to 'sql/sql_derived.cc')
-rw-r--r--sql/sql_derived.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index fc9d15e94c4..7b9191cd841 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -125,6 +125,11 @@ int mysql_derived_prepare(THD *thd, LEX *lex, TABLE_LIST *orig_table_list)
if ((res= unit->prepare(thd, derived_result, 0, orig_table_list->alias)))
goto exit;
+ if (check_duplicate_names(unit->types, 0))
+ {
+ res= -1;
+ goto exit;
+ }
derived_result->tmp_table_param.init();
derived_result->tmp_table_param.field_count= unit->types.elements;