diff options
-rw-r--r-- | sql/partition_element.h | 6 | ||||
-rw-r--r-- | sql/partition_info.h | 9 | ||||
-rw-r--r-- | sql/sql_partition.cc | 4 |
3 files changed, 14 insertions, 5 deletions
diff --git a/sql/partition_element.h b/sql/partition_element.h index d20715d2408..f822f266d4c 100644 --- a/sql/partition_element.h +++ b/sql/partition_element.h @@ -36,6 +36,8 @@ enum partition_state { PART_IS_ADDED= 8 }; +struct st_table_log_memory_entry; + class partition_element :public Sql_alloc { public: List<partition_element> subpartitions; @@ -44,6 +46,7 @@ public: ulonglong part_min_rows; char *partition_name; char *tablespace_name; + struct st_table_log_memory_entry *log_entry; longlong range_value; char* part_comment; char* data_file_name; @@ -55,7 +58,8 @@ public: partition_element() : part_max_rows(0), part_min_rows(0), partition_name(NULL), - tablespace_name(NULL), range_value(0), part_comment(NULL), + tablespace_name(NULL), log_entry(NULL), + range_value(0), part_comment(NULL), data_file_name(NULL), index_file_name(NULL), engine_type(NULL),part_state(PART_NORMAL), nodegroup_id(UNDEF_NODEGROUP), has_null_value(FALSE) diff --git a/sql/partition_info.h b/sql/partition_info.h index 69aef512a67..eec7db90ad0 100644 --- a/sql/partition_info.h +++ b/sql/partition_info.h @@ -28,7 +28,7 @@ typedef int (*get_part_id_func)(partition_info *part_info, longlong *func_value); typedef uint32 (*get_subpart_id_func)(partition_info *part_info); - +struct st_table_log_memory_entry; class partition_info : public Sql_alloc { @@ -76,7 +76,11 @@ public: Item *subpart_expr; Item *item_free_list; - + + struct st_table_log_memory_entry *first_log_entry; + struct st_table_log_memory_entry *exec_log_entry; + struct st_table_log_memory_entry *frm_log_entry; + /* A bitmap of partitions used by the current query. Usage pattern: @@ -191,6 +195,7 @@ public: part_field_array(NULL), subpart_field_array(NULL), full_part_field_array(NULL), part_expr(NULL), subpart_expr(NULL), item_free_list(NULL), + first_log_entry(NULL), exec_log_entry(NULL), frm_log_entry(NULL), list_array(NULL), part_info_string(NULL), part_func_string(NULL), subpart_func_string(NULL), diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index a02216a113c..57e6a986987 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -5157,7 +5157,7 @@ write_log_changed_partitions(ALTER_PARTITION_PARAM_TYPE *lpt, if (part_elem->part_state == PART_IS_CHANGED || (part_elem->part_state == PART_IS_ADDED && temp_partitions)) { - if (is_sub_partitioned(part_info)) + if (part_info->is_sub_partitioned()) { List_iterator<partition_element> sub_it(part_elem->subpartitions); uint no_subparts= part_info->no_subparts; @@ -5271,7 +5271,7 @@ write_log_dropped_partitions(ALTER_PARTITION_PARAM_TYPE *lpt, name_variant= TEMP_PART_NAME; else name_variant= NORMAL_PART_NAME; - if (is_sub_partitioned(part_info)) + if (part_info->is_sub_partitioned()) { List_iterator<partition_element> sub_it(part_elem->subpartitions); uint no_subparts= part_info->no_subparts; |