summaryrefslogtreecommitdiff
path: root/sql/sql_union.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-11-10 16:12:45 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2017-11-10 16:12:45 +0200
commita48aa0cd569eda88bef98ed4abe41b0b570fcd51 (patch)
tree6008b19aabfe0554432c87614d1022594f08fc5f /sql/sql_union.cc
parent8409f721ffe2d91b11d3fc03c6872ff57051bbf8 (diff)
parent386e5d476e9bf8f216c760c9076ae0ecdc99054d (diff)
downloadmariadb-git-a48aa0cd569eda88bef98ed4abe41b0b570fcd51.tar.gz
Merge bb-10.2-ext into 10.3
Diffstat (limited to 'sql/sql_union.cc')
-rw-r--r--sql/sql_union.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/sql/sql_union.cc b/sql/sql_union.cc
index fd988d53e53..8cce7f33057 100644
--- a/sql/sql_union.cc
+++ b/sql/sql_union.cc
@@ -713,13 +713,7 @@ bool st_select_lex_unit::join_union_type_handlers(THD *thd_arg,
holders[pos].set_handler(item_type_handler);
else
{
- if (first_sl->item_list.elements != sl->item_list.elements)
- {
- my_message(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
- ER_THD(thd_arg, ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT),
- MYF(0));
- DBUG_RETURN(true);
- }
+ DBUG_ASSERT(first_sl->item_list.elements == sl->item_list.elements);
if (holders[pos].aggregate_for_result(item_type_handler))
{
my_error(ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION, MYF(0),
@@ -988,6 +982,16 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
goto err;
}
}
+ else
+ {
+ if (first_sl->item_list.elements != sl->item_list.elements)
+ {
+ my_message(ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
+ ER_THD(thd_arg, ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT),
+ MYF(0));
+ goto err;
+ }
+ }
if (is_recursive)
{
if (!with_element->is_anchor(sl))