summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2017-09-29 17:48:32 +0300
committerMonty <monty@mariadb.org>2017-12-03 13:58:35 +0200
commit3907ff2d24137dd428e153f6f2b57dd13272a55f (patch)
tree124b239033d3c5045b61325081608aa1f6dc9d42 /sql
parentf26e14e2d8372c9fca7f55a61d945a946163848f (diff)
downloadmariadb-git-3907ff2d24137dd428e153f6f2b57dd13272a55f.tar.gz
Fix index scan cleanup in the partition engine.
Spiral Patch 057: 057_mariadb-10.2.0.partition_index_end.diff MDEV-12999 Original author: Kentoku SHIBA First reviewer: Jacob Mathew Second reviewer: Michael Widenius
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_partition.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 6430cbfb76b..79200b45cc9 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -5410,19 +5410,21 @@ err:
int ha_partition::index_end()
{
int error= 0;
- uint i;
+ handler **file;
DBUG_ENTER("ha_partition::index_end");
active_index= MAX_KEY;
m_part_spec.start_part= NO_CURRENT_PART_ID;
- for (i= bitmap_get_first_set(&m_part_info->read_partitions);
- i < m_tot_parts;
- i= bitmap_get_next_set(&m_part_info->read_partitions, i))
+ file= m_file;
+ do
{
- int tmp;
- if ((tmp= m_file[i]->ha_index_end()))
- error= tmp;
- }
+ if ((*file)->inited == INDEX)
+ {
+ int tmp;
+ if ((tmp= (*file)->ha_index_end()))
+ error= tmp;
+ }
+ } while (*(++file));
destroy_record_priority_queue();
DBUG_RETURN(error);
}