summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2015-08-18 11:27:00 +0300
committerMonty <monty@mariadb.org>2015-08-18 11:27:00 +0300
commit4374da63f03abc472f68f42e4e93261a18bfe417 (patch)
tree4e6ee59be4da4839e8915532b26c0144138e156a /sql/sql_table.cc
parent5fe8b747e9e3440f2f746accca0eb11e287a6713 (diff)
parentdfac82e44dd665ab218348765df2b519db4c10dc (diff)
downloadmariadb-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.cc14
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) &&