summaryrefslogtreecommitdiff
path: root/sql/partition_element.h
diff options
context:
space:
mode:
authorunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-14 09:12:07 -0400
committerunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-14 09:12:07 -0400
commite6170de4c01edaf6a39bd94d84be935f228332dc (patch)
tree827438a688b1352593deb848a80ecd9f5c6f17b5 /sql/partition_element.h
parent2ecd916de6f0daebb22f79cd6f0ad09f581c2aec (diff)
parent6e9bdcc9e91db27ca37535f7d4989d08727d1902 (diff)
downloadmariadb-git-e6170de4c01edaf6a39bd94d84be935f228332dc.tar.gz
Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug16002 sql/ha_ndbcluster.cc: Auto merged sql/sql_partition.h: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/r/partition.result: manual merge mysql-test/r/partition_error.result: manual merge mysql-test/r/partition_range.result: manual merge mysql-test/t/partition.test: manual merge mysql-test/t/partition_error.test: manual merge mysql-test/t/partition_range.test: manual merge sql/ha_partition.cc: manual merge sql/partition_element.h: manual merge sql/partition_info.cc: manual merge sql/partition_info.h: manual merge sql/share/errmsg.txt: manual merge sql/sql_partition.cc: manual merge sql/sql_table.cc: manual merge sql/table.cc: manual merge
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)