diff options
author | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2015-02-28 23:44:55 +0200 |
---|---|---|
committer | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2015-02-28 23:58:05 +0200 |
commit | 45b6edb158f8101d641f550179ee15df363f686f (patch) | |
tree | 54b7db48e508cff8fda1c6448038bd0667c48e38 /sql/structs.h | |
parent | fa87fc733d7855e0e5f9b959ca0bddf772ca57e5 (diff) | |
download | mariadb-git-45b6edb158f8101d641f550179ee15df363f686f.tar.gz |
MDEV-6838: Using too big key for internal temp tables
This bug manifests due to wrong computation and evaluation of
keyinfo->key_length. The issues were:
* Using table->file->max_key_length() as an absolute value that must not be
reached for a key, while it represents the maximum number of bytes
possible for a table key.
* Incorrectly computing the keyinfo->key_length size during
KEY_PART_INFO creation. The metadata information regarding the key
such the field length (for strings) was added twice.
Diffstat (limited to 'sql/structs.h')
-rw-r--r-- | sql/structs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/structs.h b/sql/structs.h index ae71819ae09..9840cec6a35 100644 --- a/sql/structs.h +++ b/sql/structs.h @@ -76,6 +76,7 @@ typedef struct st_key_part_info { /* Info about a key part */ */ uint16 store_length; uint16 key_type; + /* Fieldnr begins counting from 1 */ uint16 fieldnr; /* Fieldnum in UNIREG */ uint16 key_part_flag; /* 0 or HA_REVERSE_SORT */ uint8 type; |