mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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.
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user