diff options
author | unknown <gluh@eagle.intranet.mysql.r18.ru> | 2006-02-15 14:34:51 +0400 |
---|---|---|
committer | unknown <gluh@eagle.intranet.mysql.r18.ru> | 2006-02-15 14:34:51 +0400 |
commit | aa796cab7dac5bb8a9ce311b558cdfb96f7b3ece (patch) | |
tree | afcfe3739e933393f4d3d25fb8eddc5833cee177 /sql | |
parent | 76374fe5643edcca1067070912efef5599f48e70 (diff) | |
download | mariadb-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.cc | 5 |
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; } |