summaryrefslogtreecommitdiff
path: root/sql/partition_element.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/partition_element.h')
-rw-r--r--sql/partition_element.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/sql/partition_element.h b/sql/partition_element.h
index 90d0bda87c1..5ca278997ae 100644
--- a/sql/partition_element.h
+++ b/sql/partition_element.h
@@ -36,18 +36,32 @@ enum partition_state {
PART_IS_ADDED= 8
};
+/*
+ This struct is used to contain the value of an element
+ in the VALUES IN struct. It needs to keep knowledge of
+ whether it is a signed/unsigned value and whether it is
+ NULL or not.
+*/
+
+typedef struct p_elem_val
+{
+ longlong value;
+ bool null_value;
+ bool unsigned_flag;
+} part_elem_value;
+
struct st_ddl_log_memory_entry;
class partition_element :public Sql_alloc {
public:
List<partition_element> subpartitions;
- List<longlong> list_val_list;
+ List<part_elem_value> list_val_list;
ulonglong part_max_rows;
ulonglong part_min_rows;
+ longlong range_value;
char *partition_name;
char *tablespace_name;
struct st_ddl_log_memory_entry *log_entry;
- longlong range_value;
char* part_comment;
char* data_file_name;
char* index_file_name;
@@ -55,14 +69,17 @@ public:
enum partition_state part_state;
uint16 nodegroup_id;
bool has_null_value;
+ bool signed_flag;/* Indicate whether this partition uses signed constants */
+ bool max_value; /* Indicate whether this partition uses MAXVALUE */
partition_element()
- : part_max_rows(0), part_min_rows(0), partition_name(NULL),
- tablespace_name(NULL), log_entry(NULL),
- range_value(0), part_comment(NULL),
+ : part_max_rows(0), part_min_rows(0), range_value(0),
+ partition_name(NULL), tablespace_name(NULL),
+ log_entry(NULL), 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)
+ engine_type(NULL), part_state(PART_NORMAL),
+ nodegroup_id(UNDEF_NODEGROUP), has_null_value(FALSE),
+ signed_flag(FALSE), max_value(FALSE)
{
}
partition_element(partition_element *part_elem)