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

MDEV-20696 Remove Column_definition::key_length

This commit is contained in:
Alexander Barkov
2019-09-29 22:10:42 +04:00
parent cd41ffe1f1
commit f610529d23
5 changed files with 61 additions and 29 deletions

View File

@ -4054,7 +4054,8 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info,
key_part_info->fieldnr= field;
key_part_info->offset= (uint16) sql_field->offset;
key_part_info->key_type=sql_field->pack_flag;
uint key_part_length= sql_field->key_length;
uint key_part_length= sql_field->type_handler()->
calc_key_length(*sql_field);
if (column->length)
{
@ -4159,7 +4160,8 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info,
key_info->flags|= HA_PACK_KEY;
}
/* Check if the key segment is partial, set the key flag accordingly */
if (key_part_length != sql_field->key_length &&
if (key_part_length != sql_field->type_handler()->
calc_key_length(*sql_field) &&
key_part_length != sql_field->type_handler()->max_octet_length())
key_info->flags|= HA_KEY_HAS_PART_KEY_SEG;
@ -4500,7 +4502,7 @@ bool Column_definition::prepare_blob_field(THD *thd)
set_handler(Type_handler::blob_type_handler((uint) length));
pack_length= type_handler()->calc_pack_length(0);
}
length= key_length= 0;
length= 0;
}
DBUG_RETURN(0);
}