diff --git a/sql/range_optimizer/partition_pruning.cc b/sql/range_optimizer/partition_pruning.cc index b9df867..4db6b41 100644 --- a/sql/range_optimizer/partition_pruning.cc +++ b/sql/range_optimizer/partition_pruning.cc @@ -731,7 +731,7 @@ static int find_used_partitions(THD *thd, PART_PRUNE_PARAM *ppar, ppar->cur_subpart_fields += ppar->is_subpart_keypart[key_tree_part]; *(ppar->arg_stack_end++) = key_tree; - if (ignore_part_fields) { + if (ignore_part_fields && !ppar->is_subpart_keypart[key_tree_part]) { /* We come here when a condition on the first partitioning fields led to evaluating the partitioning condition