summaryrefslogtreecommitdiff
path: root/sql/partition_info.h
diff options
context:
space:
mode:
authormikael@c-4909e253.1238-1-64736c10.cust.bredbandsbolaget.se <>2006-04-17 22:51:34 -0400
committermikael@c-4909e253.1238-1-64736c10.cust.bredbandsbolaget.se <>2006-04-17 22:51:34 -0400
commitcef06fdb61e203aa7b1b29705b08e00480dcc046 (patch)
tree6000e72ead29b81629a2ee2c82b7a63e4cca694b /sql/partition_info.h
parentba5d08f340b951001bdd4c2a92b0344bace538cb (diff)
downloadmariadb-git-cef06fdb61e203aa7b1b29705b08e00480dcc046.tar.gz
BUG#16002: Make partition functions that are unsigned work properly
Diffstat (limited to 'sql/partition_info.h')
-rw-r--r--sql/partition_info.h23
1 files changed, 9 insertions, 14 deletions
diff --git a/sql/partition_info.h b/sql/partition_info.h
index 664c8834b0b..5a2cacd3c71 100644
--- a/sql/partition_info.h
+++ b/sql/partition_info.h
@@ -163,6 +163,7 @@ public:
uint no_subpart_fields;
uint no_full_part_fields;
+ uint has_null_part_id;
/*
This variable is used to calculate the partition id when using
LINEAR KEY/HASH. This functionality is kept in the MySQL Server
@@ -182,7 +183,6 @@ public:
bool fixed;
bool from_openfrm;
bool has_null_value;
- uint has_null_part_id;
partition_info()
@@ -204,19 +204,13 @@ public:
no_parts(0), no_subparts(0),
count_curr_subparts(0), part_error_code(0),
no_list_values(0), no_part_fields(0), no_subpart_fields(0),
- no_full_part_fields(0), linear_hash_mask(0),
- use_default_partitions(TRUE),
- use_default_no_partitions(TRUE),
- use_default_subpartitions(TRUE),
- use_default_no_subpartitions(TRUE),
- default_partitions_setup(FALSE),
- defined_max_value(FALSE),
+ no_full_part_fields(0), has_null_part_id(0), linear_hash_mask(0),
+ use_default_partitions(TRUE), use_default_no_partitions(TRUE),
+ use_default_subpartitions(TRUE), use_default_no_subpartitions(TRUE),
+ default_partitions_setup(FALSE), defined_max_value(FALSE),
list_of_part_fields(FALSE), list_of_subpart_fields(FALSE),
- linear_hash_ind(FALSE),
- fixed(FALSE),
- from_openfrm(FALSE),
- has_null_value(FALSE),
- has_null_part_id(0)
+ linear_hash_ind(FALSE), fixed(FALSE), from_openfrm(FALSE),
+ has_null_value(FALSE)
{
all_fields_in_PF.clear_all();
all_fields_in_PPF.clear_all();
@@ -248,10 +242,11 @@ public:
static bool check_engine_mix(handlerton **engine_array, uint no_parts);
bool check_range_constants();
bool check_list_constants();
- bool check_partition_info(handlerton **eng_type,
+ bool check_partition_info(THD *thd, handlerton **eng_type,
handler *file, ulonglong max_rows);
private:
static int list_part_cmp(const void* a, const void* b);
+ static int list_part_cmp_unsigned(const void* a, const void* b);
bool set_up_default_partitions(handler *file, ulonglong max_rows,
uint start_no);
bool set_up_default_subpartitions(handler *file, ulonglong max_rows);