mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Bug #17499 Alter table of ndb partitioned tables causes mysqld to core
- moved used_partitions initialization
This commit is contained in:
parent
b203771eab
commit
50ce511bdb
2 changed files with 6 additions and 3 deletions
|
@ -3381,8 +3381,13 @@ int ha_ndbcluster::extra(enum ha_extra_function operation)
|
|||
DBUG_PRINT("info", ("HA_EXTRA_RESET"));
|
||||
DBUG_PRINT("info", ("Clearing condition stack"));
|
||||
cond_clear();
|
||||
/*
|
||||
* Regular partition pruning will set the bitmap appropriately.
|
||||
* Some queries like ALTER TABLE doesn't use partition pruning and
|
||||
* thus the 'used_partitions' bitmap needs to be initialized
|
||||
*/
|
||||
if (m_part_info)
|
||||
bitmap_clear_all(&m_part_info->used_partitions);
|
||||
bitmap_set_all(&m_part_info->used_partitions);
|
||||
break;
|
||||
case HA_EXTRA_IGNORE_DUP_KEY: /* Dup keys don't rollback everything*/
|
||||
DBUG_PRINT("info", ("HA_EXTRA_IGNORE_DUP_KEY"));
|
||||
|
|
|
@ -5200,8 +5200,6 @@ copy_data_between_tables(TABLE *from,TABLE *to,
|
|||
*/
|
||||
to->file->ha_set_all_bits_in_write_set();
|
||||
from->file->ha_retrieve_all_cols();
|
||||
if (from->part_info)
|
||||
bitmap_set_all(&(from->part_info->used_partitions));
|
||||
init_read_record(&info, thd, from, (SQL_SELECT *) 0, 1,1);
|
||||
if (ignore ||
|
||||
handle_duplicates == DUP_REPLACE)
|
||||
|
|
Loading…
Reference in a new issue