summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/partition_element.h6
-rw-r--r--sql/partition_info.h9
-rw-r--r--sql/sql_partition.cc4
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;