diff options
Diffstat (limited to 'sql/sql_partition.h')
-rw-r--r-- | sql/sql_partition.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sql/sql_partition.h b/sql/sql_partition.h index 57e6d0600ed..a90eaae0bae 100644 --- a/sql/sql_partition.h +++ b/sql/sql_partition.h @@ -55,6 +55,7 @@ typedef struct st_lock_param_type THD *thd; HA_CREATE_INFO *create_info; Alter_info *alter_info; + Alter_table_ctx *alter_ctx; TABLE *table; KEY *key_info_buffer; LEX_CSTRING db; @@ -64,6 +65,7 @@ typedef struct st_lock_param_type uint key_count; uint db_options; size_t pack_frm_len; + // TODO: remove duplicate data: part_info can be accessed via table->part_info partition_info *part_info; } ALTER_PARTITION_PARAM_TYPE; @@ -255,10 +257,9 @@ typedef int (*get_partitions_in_range_iter)(partition_info *part_info, #ifdef WITH_PARTITION_STORAGE_ENGINE uint fast_alter_partition_table(THD *thd, TABLE *table, Alter_info *alter_info, + Alter_table_ctx *alter_ctx, HA_CREATE_INFO *create_info, - TABLE_LIST *table_list, - const LEX_CSTRING *db, - const LEX_CSTRING *table_name); + TABLE_LIST *table_list); bool set_part_state(Alter_info *alter_info, partition_info *tab_part_info, enum partition_state part_state); uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info, @@ -278,7 +279,16 @@ bool verify_data_with_partition(TABLE *table, TABLE *part_table, uint32 part_id); bool compare_partition_options(HA_CREATE_INFO *table_create_info, partition_element *part_elem); +bool compare_table_with_partition(THD *thd, TABLE *table, + TABLE *part_table, + partition_element *part_elem, + uint part_id); bool partition_key_modified(TABLE *table, const MY_BITMAP *fields); +bool write_log_replace_frm(ALTER_PARTITION_PARAM_TYPE *lpt, + uint next_entry, + const char *from_path, + const char *to_path); + #else #define partition_key_modified(X,Y) 0 #endif |