diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 4b7d65c8ae7524a9edb03805bee01e7ca3a534ce..79b3e023a5f8b131f6bb58035d4c5c7bc8892f13 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -3237,6 +3237,11 @@ static bool create_partition_index_description(PART_PRUNE_PARAM *ppar) key_part->field= (*field); 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 */ ppar->is_part_keypart[part]= !in_subpart_fields; diff --git a/sql/opt_range.h b/sql/opt_range.h index 6f9c053cda296194767ba0fec5997fef8577bf35..170766c7c1086c29945d96ce5f6cf3b42da7e4bb 100644 --- a/sql/opt_range.h +++ b/sql/opt_range.h @@ -26,7 +26,9 @@ typedef struct st_key_part { 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::imagetype image_type; } KEY_PART;