diff options
author | Sachin <sachin.setiya@mariadb.com> | 2020-06-03 13:36:36 +0530 |
---|---|---|
committer | Sachin <sachin.setiya@mariadb.com> | 2020-06-07 12:07:41 +0530 |
commit | eb14e073ea121954fb5be6fac92fd84b7d57bb07 (patch) | |
tree | 8bd3404730de0fe9f8e806bb172cbea11c4552e4 /sql | |
parent | e208f91ba8e8d674b276d52ba1645e4fef1f974a (diff) | |
download | mariadb-git-eb14e073ea121954fb5be6fac92fd84b7d57bb07.tar.gz |
MDEV-22719 Long unique keys are not created when individual key_part->length < max_key_length but SUM(key_parts->length) > max_key_length
Make UNIQUE HASH key in case when key_info->key_length > max_key_length
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_table.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 1c5aac08584..def29d78203 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4168,6 +4168,8 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info, if (key->type == Key::UNIQUE && !(key_info->flags & HA_NULL_PART_KEY)) unique_key=1; key_info->key_length=(uint16) key_length; + if (key_info->key_length > max_key_length && key->type == Key::UNIQUE) + is_hash_field_needed= true; if (key_length > max_key_length && key->type != Key::FULLTEXT && !is_hash_field_needed) { |