diff options
author | Alexander Barkov <bar@mariadb.org> | 2017-10-14 19:43:16 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2017-10-14 19:43:16 +0400 |
commit | 98cd0ec536915b25a841ffc227285b15f35acef7 (patch) | |
tree | bc0721285c7b56029f6ed58e1926d7302cefc8ed /sql/sql_table.cc | |
parent | 9534c0451578db5562799e27bc2c7e9d61ec6900 (diff) | |
download | mariadb-git-98cd0ec536915b25a841ffc227285b15f35acef7.tar.gz |
MDEV-10802 TIMESTAMP NOT NULL field with explicit_defaults_for_timestamp and NO_ZERO_DATE shouldn't throw error
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 2751c79a0a4..fa5eb2a6796 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4161,7 +4161,8 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info, if (!sql_field->def && !sql_field->has_default_function() && (sql_field->flags & NOT_NULL_FLAG) && - !is_timestamp_type(sql_field->sql_type)) + (!is_timestamp_type(sql_field->sql_type) || + opt_explicit_defaults_for_timestamp)) { sql_field->flags|= NO_DEFAULT_VALUE_FLAG; sql_field->pack_flag|= FIELDFLAG_NO_DEFAULT; @@ -4170,6 +4171,7 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info, if (thd->variables.sql_mode & MODE_NO_ZERO_DATE && !sql_field->def && !sql_field->vcol_info && is_timestamp_type(sql_field->sql_type) && + !opt_explicit_defaults_for_timestamp && (sql_field->flags & NOT_NULL_FLAG) && (type == Field::NONE || type == Field::TIMESTAMP_UN_FIELD)) { |