diff options
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/field.cc b/sql/field.cc index 89b04c4d795..5289798cebf 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -10501,6 +10501,13 @@ bool Column_definition::fix_attributes_temporal_with_time(uint int_part_length) } +bool Column_definition::validate_check_constraint(THD *thd) +{ + return check_constraint && + check_expression(check_constraint, &field_name, VCOL_CHECK_FIELD); +} + + bool Column_definition::check(THD *thd) { DBUG_ENTER("Column_definition::check"); @@ -10515,9 +10522,8 @@ bool Column_definition::check(THD *thd) DBUG_RETURN(TRUE); } - if (check_constraint && - check_expression(check_constraint, &field_name, VCOL_CHECK_FIELD)) - DBUG_RETURN(1); + if (type_handler()->Column_definition_validate_check_constraint(thd, this)) + DBUG_RETURN(TRUE); if (default_value) { |