summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <gluh@eagle.intranet.mysql.r18.ru>2006-02-15 14:34:51 +0400
committerunknown <gluh@eagle.intranet.mysql.r18.ru>2006-02-15 14:34:51 +0400
commitaa796cab7dac5bb8a9ce311b558cdfb96f7b3ece (patch)
treeafcfe3739e933393f4d3d25fb8eddc5833cee177 /sql
parent76374fe5643edcca1067070912efef5599f48e70 (diff)
downloadmariadb-git-aa796cab7dac5bb8a9ce311b558cdfb96f7b3ece.tar.gz
Fix for bug#16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX
In presense of subpartitioning use get_part_partition_id() to calculate part_id
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_partition.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index 9830d24b604..e566c13a125 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -6009,7 +6009,10 @@ static uint32 get_next_partition_via_walking(PARTITION_ITERATOR *part_iter)
field->store(part_iter->field_vals.start, FALSE);
part_iter->field_vals.start++;
longlong dummy;
- if (!part_iter->part_info->get_partition_id(part_iter->part_info,
+ if (is_sub_partitioned(part_iter->part_info) &&
+ !part_iter->part_info->get_part_partition_id(part_iter->part_info,
+ &part_id, &dummy) ||
+ !part_iter->part_info->get_partition_id(part_iter->part_info,
&part_id, &dummy))
return part_id;
}