diff options
author | Monty <monty@mariadb.org> | 2015-08-18 11:27:00 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2015-08-18 11:27:00 +0300 |
commit | 4374da63f03abc472f68f42e4e93261a18bfe417 (patch) | |
tree | 4e6ee59be4da4839e8915532b26c0144138e156a /sql/sql_table.cc | |
parent | 5fe8b747e9e3440f2f746accca0eb11e287a6713 (diff) | |
parent | dfac82e44dd665ab218348765df2b519db4c10dc (diff) | |
download | mariadb-git-4374da63f03abc472f68f42e4e93261a18bfe417.tar.gz |
Merge /my/maria-10.1-default into 10.1
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index fa14204110a..091dc0cb761 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4096,6 +4096,20 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info, { Field::utype type= (Field::utype) MTYP_TYPENR(sql_field->unireg_check); + /* + Set NO_DEFAULT_VALUE_FLAG if this field doesn't have a default value and + it is NOT NULL, not an AUTO_INCREMENT field, not a TIMESTAMP and not + updated trough a NOW() function. + */ + if (!sql_field->def && + !sql_field->has_default_function() && + (sql_field->flags & NOT_NULL_FLAG) && + !is_timestamp_type(sql_field->sql_type)) + { + sql_field->flags|= NO_DEFAULT_VALUE_FLAG; + sql_field->pack_flag|= FIELDFLAG_NO_DEFAULT; + } + if (thd->variables.sql_mode & MODE_NO_ZERO_DATE && !sql_field->def && is_timestamp_type(sql_field->sql_type) && |