5.5 merge

This commit is contained in:
Sergei Golubchik 2013-06-06 17:51:28 +02:00
commit 4749d40c63
464 changed files with 7733 additions and 3067 deletions

View file

@ -1,7 +1,7 @@
#ifndef PARTITION_INFO_INCLUDED
#define PARTITION_INFO_INCLUDED
/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -192,6 +192,19 @@ public:
but mainly of use to handlers supporting partitioning.
*/
uint16 linear_hash_mask;
/*
PARTITION BY KEY ALGORITHM=N
Which algorithm to use for hashing the fields.
N = 1 - Use 5.1 hashing (numeric fields are hashed as binary)
N = 2 - Use 5.5 hashing (numeric fields are hashed like latin1 bytes)
*/
enum enum_key_algorithm
{
KEY_ALGORITHM_NONE= 0,
KEY_ALGORITHM_51= 1,
KEY_ALGORITHM_55= 2
};
enum_key_algorithm key_algorithm;
bool use_default_partitions;
bool use_default_num_partitions;
@ -232,6 +245,7 @@ public:
count_curr_subparts(0), part_error_code(0),
num_list_values(0), num_part_fields(0), num_subpart_fields(0),
num_full_part_fields(0), has_null_part_id(0), linear_hash_mask(0),
key_algorithm(KEY_ALGORITHM_NONE),
use_default_partitions(TRUE), use_default_num_partitions(TRUE),
use_default_subpartitions(TRUE), use_default_num_subpartitions(TRUE),
default_partitions_setup(FALSE), defined_max_value(FALSE),
@ -298,6 +312,7 @@ public:
bool add_column_list_value(THD *thd, Item *item);
void set_show_version_string(String *packet);
void report_part_expr_error(bool use_subpart_expr);
bool has_same_partitioning(partition_info *new_part_info);
private:
static int list_part_cmp(const void* a, const void* b);
bool set_up_default_partitions(handler *file, HA_CREATE_INFO *info,