1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-11172: EXPLAIN shows non-sensical value for key_len with type=index

The issue happens when the secondary keys are extended with primary
key parts. Inside the function TABLE_SHARE::init_from_binary_frm_image()
adds the length bytes for the primary key key parts to the length of the
secondary key. This is not needed because when the extended keys are
used we recalculate the length for the used key parts.

Also removed TABLE_SHARE::total_key_length as it is not used in the code

Apporved-by: Monty <monty@mariadb.org>
This commit is contained in:
Varun Gupta
2021-01-29 00:27:19 +05:30
parent 0921656734
commit b87c342da5
5 changed files with 45 additions and 4 deletions

View File

@ -90,7 +90,7 @@ class engine_option_value;
struct ha_index_option_struct;
typedef struct st_key {
uint key_length; /* Tot length of key */
uint key_length; /* total length of user defined key parts */
ulong flags; /* dupp key and pack flags */
uint user_defined_key_parts; /* How many key_parts */
uint usable_key_parts; /* Should normally be = user_defined_key_parts */