diff options
author | mikael/pappa@dator5.(none) <> | 2006-08-05 16:12:24 -0400 |
---|---|---|
committer | mikael/pappa@dator5.(none) <> | 2006-08-05 16:12:24 -0400 |
commit | db2c48b08d6487df21fe38cd75bcb9426315fb2b (patch) | |
tree | a59f5d5184093db3bb05644321a5bdb8a6ea43d1 /sql/sql_partition.cc | |
parent | a4eb61b88cbe4e8f6e43db2ca841fa60ec73467c (diff) | |
download | mariadb-git-db2c48b08d6487df21fe38cd75bcb9426315fb2b.tar.gz |
BUG#21339: Crash at EXPLAIN PARTITIONS
Caused by missing check for end of partitions in prune range check
Diffstat (limited to 'sql/sql_partition.cc')
-rw-r--r-- | sql/sql_partition.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index 73091c0994e..e214b41400a 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -2573,10 +2573,13 @@ uint32 get_partition_id_range_for_endpoint(partition_info *part_info, } else { - if (part_func_value == range_array[loc_part_id]) - loc_part_id += test(include_endpoint); - else if (part_func_value > range_array[loc_part_id]) - loc_part_id++; + if (loc_part_id < max_partition) + { + if (part_func_value == range_array[loc_part_id]) + loc_part_id += test(include_endpoint); + else if (part_func_value > range_array[loc_part_id]) + loc_part_id++; + } loc_part_id++; } DBUG_RETURN(loc_part_id); |