My Project
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
partition_info Class Reference
Inheritance diagram for partition_info:

List of all members.

Public Types

enum  enum_key_algorithm { KEY_ALGORITHM_NONE = 0, KEY_ALGORITHM_51 = 1, KEY_ALGORITHM_55 = 2 }
enum  enum_can_prune { PRUNE_NO = 0, PRUNE_DEFAULTS, PRUNE_YES }

Public Member Functions

partition_infoget_clone ()
partition_infoget_full_clone ()
bool set_named_partition_bitmap (const char *part_name, uint length)
bool set_partition_bitmaps (TABLE_LIST *table_list)
bool is_sub_partitioned ()
uint get_tot_partitions ()
bool set_up_defaults_for_partitioning (handler *file, HA_CREATE_INFO *info, uint start_no)
char * find_duplicate_field ()
char * find_duplicate_name ()
bool check_engine_mix (handlerton *engine_type, bool default_engine)
bool check_range_constants (THD *thd)
bool check_list_constants (THD *thd)
bool check_partition_info (THD *thd, handlerton **eng_type, handler *file, HA_CREATE_INFO *info, bool check_partition_function)
void print_no_partition_found (TABLE *table)
void print_debug (const char *str, uint *)
Itemget_column_item (Item *item, Field *field)
bool fix_partition_values (THD *thd, part_elem_value *val, partition_element *part_elem, uint part_id)
bool fix_column_value_functions (THD *thd, part_elem_value *val, uint part_id)
bool fix_parser_data (THD *thd)
bool add_max_value ()
void init_col_val (part_column_list_val *col_val, Item *item)
bool reorganize_into_single_field_col_val ()
part_column_list_valadd_column_value ()
bool set_part_expr (char *start_token, Item *item_ptr, char *end_token, bool is_subpart)
bool set_up_charset_field_preps ()
bool check_partition_field_length ()
bool init_column_part ()
bool add_column_list_value (THD *thd, Item *item)
void set_show_version_string (String *packet)
partition_elementget_part_elem (const char *partition_name, char *file_name, uint32 *part_id)
void report_part_expr_error (bool use_subpart_expr)
bool set_used_partition (List< Item > &fields, List< Item > &values, COPY_INFO &info, bool copy_default_values, MY_BITMAP *used_partitions)
bool can_prune_insert (THD *thd, enum_duplicates duplic, COPY_INFO &update, List< Item > &update_fields, List< Item > &fields, bool empty_values, enum_can_prune *can_prune_partitions, bool *prune_needs_default_values, MY_BITMAP *used_partitions)
bool has_same_partitioning (partition_info *new_part_info)

Static Public Member Functions

static int compare_column_values (const void *a, const void *b)

Public Attributes

List< partition_elementpartitions
List< partition_elementtemp_partitions
List< char > part_field_list
List< char > subpart_field_list
get_part_id_func get_partition_id
get_part_id_func get_part_partition_id
get_subpart_id_func get_subpartition_id
get_part_id_func get_part_partition_id_charset
get_subpart_id_func get_subpartition_id_charset
Field ** part_field_array
Field ** subpart_field_array
Field ** part_charset_field_array
Field ** subpart_charset_field_array
Field ** full_part_field_array
MY_BITMAP full_part_field_set
uchar ** part_field_buffers
uchar ** subpart_field_buffers
uchar ** restore_part_field_ptrs
uchar ** restore_subpart_field_ptrs
struct st_ddl_log_memory_entryfirst_log_entry
struct st_ddl_log_memory_entryexec_log_entry
struct st_ddl_log_memory_entryfrm_log_entry
MY_BITMAP read_partitions
MY_BITMAP lock_partitions
bool bitmaps_are_initialized
union {
   longlong *   range_int_array
   LIST_PART_ENTRY *   list_array
   part_column_list_val *   range_col_array
   part_column_list_val *   list_col_array
get_partitions_in_range_iter get_part_iter_for_interval
get_partitions_in_range_iter get_subpart_iter_for_interval
longlong err_value
char * part_info_string
char * part_func_string
char * subpart_func_string
uint curr_list_object
uint num_columns
key_map all_fields_in_PF
key_map all_fields_in_PPF
key_map all_fields_in_SPF
key_map some_fields_in_PF
partition_type part_type
partition_type subpart_type
uint part_info_len
uint part_func_len
uint subpart_func_len
uint num_parts
uint num_subparts
uint count_curr_subparts
uint num_list_values
uint num_part_fields
uint num_subpart_fields
uint num_full_part_fields
uint has_null_part_id
uint16 linear_hash_mask
enum_key_algorithm key_algorithm
bool use_default_partitions
bool use_default_num_partitions
bool use_default_subpartitions
bool use_default_num_subpartitions
bool default_partitions_setup
bool defined_max_value
bool list_of_part_fields
bool list_of_subpart_fields
bool linear_hash_ind
bool fixed
bool is_auto_partitioned
bool has_null_value
bool column_list
bool is_pruning_completed

Member Enumeration Documentation

PRUNE_NO - Unable to prune. PRUNE_DEFAULTS - Partitioning field is only set to DEFAULT values, only need to check pruning for one row where the DEFAULTS values are set. PRUNE_YES - Pruning is possible, calculate the used partition set by evaluate the partition_id on row by row basis.

Member Data Documentation

True if pruning has been completed and can not be pruned any further, even if there are subqueries or stored programs in the condition.

Some times it is needed to run prune_partitions() a second time to prune read partitions after tables are locked, when subquery and stored functions might have been evaluated.

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines