summaryrefslogtreecommitdiff
path: root/sql/sql_type.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2019-04-23 13:45:28 +0400
committerAlexander Barkov <bar@mariadb.com>2019-04-23 13:45:28 +0400
commitbaadbe96019b205164167928d80e836ebbb6bcfe (patch)
tree62e375c4a05bd8a6b699eb86a9757a01655245c5 /sql/sql_type.h
parenta765b19e5ca31a3d866cdbc8bef3a6f4e5e44688 (diff)
downloadmariadb-git-10.4-staging.tar.gz
MDEV-9234 Add Type_handler::union_element_finalize()10.4-staging
Diffstat (limited to 'sql/sql_type.h')
-rw-r--r--sql/sql_type.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/sql_type.h b/sql/sql_type.h
index da9913c1265..569e8742d2f 100644
--- a/sql/sql_type.h
+++ b/sql/sql_type.h
@@ -3356,6 +3356,14 @@ public:
virtual Field *make_conversion_table_field(TABLE *TABLE,
uint metadata,
const Field *target) const= 0;
+ /*
+ Performs the final data type validation for a UNION element,
+ after the regular "aggregation for result" was done.
+ */
+ virtual bool union_element_finalize(const Item * item) const
+ {
+ return false;
+ }
// Automatic upgrade, e.g. for ALTER TABLE t1 FORCE
virtual void Column_definition_implicit_upgrade(Column_definition *c) const
{ }
@@ -4580,6 +4588,7 @@ public:
void sortlength(THD *thd,
const Type_std_attributes *item,
SORT_FIELD_ATTR *attr) const;
+ bool union_element_finalize(const Item * item) const;
bool Column_definition_prepare_stage1(THD *thd,
MEM_ROOT *mem_root,
Column_definition *c,