diff options
Diffstat (limited to 'sql/sql_union.cc')
-rw-r--r-- | sql/sql_union.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sql/sql_union.cc b/sql/sql_union.cc index 528292e5177..e10c0af2e16 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -1085,12 +1085,12 @@ cont: while ((type= tp++)) { - if (type->cmp_type() == STRING_RESULT && - type->collation.derivation == DERIVATION_NONE) - { - my_error(ER_CANT_AGGREGATE_NCOLLATIONS, MYF(0), "UNION"); + /* + Test if the aggregated data type is OK for a UNION element. + E.g. in case of string data, DERIVATION_NONE is not allowed. + */ + if (type->type_handler()->union_element_finalize(type)) goto err; - } } /* |