Fix for bug #23762: partition.test fails (partition_hash, partition_pruning as well)

When partition pruning is used we have to initialize key_part->flag in the 
create_partition_index_descr() as it's checked in the get_mm_leaf().
parent f11aa15c
...@@ -3237,6 +3237,11 @@ static bool create_partition_index_description(PART_PRUNE_PARAM *ppar) ...@@ -3237,6 +3237,11 @@ static bool create_partition_index_description(PART_PRUNE_PARAM *ppar)
key_part->field= (*field); key_part->field= (*field);
key_part->image_type = Field::itRAW; key_part->image_type = Field::itRAW;
/*
We set keypart flag to 0 here as the only HA_PART_KEY_SEG is checked
in the RangeAnalysisModule.
*/
key_part->flag= 0;
/* We don't set key_parts->null_bit as it will not be used */ /* We don't set key_parts->null_bit as it will not be used */
ppar->is_part_keypart[part]= !in_subpart_fields; ppar->is_part_keypart[part]= !in_subpart_fields;
......
...@@ -26,7 +26,9 @@ ...@@ -26,7 +26,9 @@
typedef struct st_key_part { typedef struct st_key_part {
uint16 key,part, store_length, length; uint16 key,part, store_length, length;
uint8 null_bit, flag; uint8 null_bit;
/* Keypart flags (0 if partition pruning is used) */
uint8 flag;
Field *field; Field *field;
Field::imagetype image_type; Field::imagetype image_type;
} KEY_PART; } KEY_PART;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment