diff options
author | Nikita Malyavin <nikitamalyavin@gmail.com> | 2020-03-11 00:46:24 +1000 |
---|---|---|
committer | Nikita Malyavin <nikitamalyavin@gmail.com> | 2020-03-11 00:46:24 +1000 |
commit | bbe056ac3fa8e3ca3e25f54fb397cba30989ac65 (patch) | |
tree | 34dc7bc64d11406cb7985206ed8396cb045bfc60 /sql/sql_table.cc | |
parent | 7a5d3316805c2b35c719ef612335e9c9a4cd9015 (diff) | |
download | mariadb-git-bb-10.5-MDEV-16978-without-overlaps.tar.gz |
support NULL fields in keybb-10.5-MDEV-16978-without-overlaps
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 74d28ede25f..0f6a750c7f5 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -3959,28 +3959,6 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info, DBUG_RETURN(TRUE); } - switch (key->type) { - case Key::UNIQUE: - if (!key->period) - break; - /* Fall through: - WITHOUT OVERLAPS forces fields to be NOT NULL - */ - case Key::PRIMARY: - /* Implicitly set primary key fields to NOT NULL for ISO conf. */ - if (!(sql_field->flags & NOT_NULL_FLAG)) - { - /* Implicitly set primary key fields to NOT NULL for ISO conf. */ - sql_field->flags|= NOT_NULL_FLAG; - sql_field->pack_flag&= ~FIELDFLAG_MAYBE_NULL; - null_fields--; - } - break; - default: - // Fall through - break; - } - cols2.rewind(); switch(key->type) { @@ -4018,6 +3996,13 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info, *sql_field, file)) DBUG_RETURN(TRUE); + if (!(sql_field->flags & NOT_NULL_FLAG)) + { + /* Implicitly set primary key fields to NOT NULL for ISO conf. */ + sql_field->flags|= NOT_NULL_FLAG; + sql_field->pack_flag&= ~FIELDFLAG_MAYBE_NULL; + null_fields--; + } break; case Key::MULTIPLE: |