mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 15:15:34 +02:00
BUG#20770: DATA DIRECTORY and INDEX DIRECTORY error when ALTER TABLE ADD/DROP/REORGANIZE partition
Also some error in handling options for subpartitions. mysql-test/r/partition.result: New test cases mysql-test/t/partition.test: New test cases sql/ha_partition.cc: Added partition_element to prepare_new_partition so that we can properly set-up table before creating partitions. sql/ha_partition.h: Added partition_element to prepare_new_partition so that we can properly set-up table before creating partitions. sql/sql_yacc.yy: Ensure that subpartitions always inherit options from the partition they belong to. They can change it afterwards but will use the options as set on partition level if set at that level.
This commit is contained in:
parent
60d070b273
commit
43179555d9
5 changed files with 106 additions and 14 deletions
|
|
@ -202,7 +202,8 @@ private:
|
|||
int copy_partitions(ulonglong *copied, ulonglong *deleted);
|
||||
void cleanup_new_partition(uint part_count);
|
||||
int prepare_new_partition(TABLE *table, HA_CREATE_INFO *create_info,
|
||||
handler *file, const char *part_name);
|
||||
handler *file, const char *part_name,
|
||||
partition_element *p_elem);
|
||||
/*
|
||||
delete_table, rename_table and create uses very similar logic which
|
||||
is packed into this routine.
|
||||
|
|
@ -222,7 +223,8 @@ private:
|
|||
void set_up_table_before_create(TABLE *table_arg,
|
||||
const char *partition_name_with_path,
|
||||
HA_CREATE_INFO *info,
|
||||
uint part_id);
|
||||
uint part_id,
|
||||
partition_element *p_elem);
|
||||
partition_element *find_partition_element(uint part_id);
|
||||
|
||||
public:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue