Drizzled Public API Documentation

dict_index_struct Struct Reference

#include <dict0mem.h>

Public Attributes

index_id_t id
 
mem_heap_theap
 
const char * name
 
const char * table_name
 
dict_table_ttable
 
unsigned space:32
 
unsigned page:32
 
unsigned type:4
 
unsigned trx_id_offset:10
 
unsigned n_user_defined_cols:10
 
unsigned n_uniq:10
 
unsigned n_def:10
 
unsigned n_fields:10
 
unsigned n_nullable:10
 
unsigned cached:1
 
unsigned to_be_dropped:1
 
dict_field_tfields
 
 indexes
 
btr_search_tsearch_info
 
rw_lock_t lock
 
trx_id_t trx_id
 
ib_int64_t * stat_n_diff_key_vals
 
ulint stat_index_size
 
ulint stat_n_leaf_pages
 

Detailed Description

Data structure for an index.  Most fields will be

initialized to 0, NULL or FALSE in dict_mem_index_create().

Definition at line 316 of file dict0mem.h.

Member Data Documentation

unsigned dict_index_struct::cached
            TRUE if the index object is in the

dictionary cache

Definition at line 343 of file dict0mem.h.

Referenced by mlog_parse_index().

dict_field_t* dict_index_struct::fields

array of field descriptions

Definition at line 349 of file dict0mem.h.

Referenced by innobase_match_index_columns(), and mlog_parse_index().

mem_heap_t* dict_index_struct::heap

memory heap

Definition at line 318 of file dict0mem.h.

Referenced by dict_index_add_to_cache(), dict_index_remove_from_cache(), and dict_mem_index_free().

dict_index_struct::indexes

list of indexes of the table

Definition at line 352 of file dict0mem.h.

Referenced by drizzled::TableShare::fieldInPrimaryKey().

rw_lock_t dict_index_struct::lock
           read-write lock protecting the

upper levels of the index tree

Definition at line 371 of file dict0mem.h.

Referenced by dict_index_add_to_cache(), and dict_index_remove_from_cache().

unsigned dict_index_struct::n_def

number of fields defined so far

Definition at line 340 of file dict0mem.h.

Referenced by dict_index_add_col(), dict_index_add_to_cache(), dict_load_field_low(), and dict_mem_index_add_field().

unsigned dict_index_struct::n_fields

number of fields in the index

Definition at line 341 of file dict0mem.h.

Referenced by ha_innobase::change_active_index(), dict_index_add_to_cache(), innobase_match_index_columns(), and row_create_prebuilt().

unsigned dict_index_struct::n_uniq
            number of fields from the beginning

which are enough to determine an index entry uniquely

Definition at line 337 of file dict0mem.h.

Referenced by dict_index_add_to_cache(), ha_innobase::info(), and mlog_parse_index().

unsigned dict_index_struct::n_user_defined_cols
 number of columns the user defined to

be in the index: in the internal representation we add more columns

Definition at line 333 of file dict0mem.h.

Referenced by innobase_match_index_columns().

unsigned dict_index_struct::page

index tree root page number

Definition at line 325 of file dict0mem.h.

Referenced by dict_create_index_step(), dict_index_add_to_cache(), and dict_truncate_index_tree().

btr_search_t* dict_index_struct::search_info

info used in optimistic searches

Definition at line 353 of file dict0mem.h.

Referenced by btr_search_drop_page_hash_index(), dict_index_add_to_cache(), and dict_index_remove_from_cache().

unsigned dict_index_struct::space

space where the index tree is placed

Definition at line 323 of file dict0mem.h.

Referenced by row_truncate_table_for_mysql().

ulint dict_index_struct::stat_index_size
 approximate index size in

database pages

Definition at line 364 of file dict0mem.h.

Referenced by btr_estimate_number_of_different_key_vals(), dict_index_add_to_cache(), and dict_update_statistics().

ib_int64_t* dict_index_struct::stat_n_diff_key_vals

Statistics for query optimization approximate number of different key values for this index, for each n-column prefix where n <= dict_get_n_unique(index); we periodically calculate new estimates

Definition at line 357 of file dict0mem.h.

Referenced by btr_estimate_number_of_different_key_vals(), dict_index_add_to_cache(), dict_update_statistics(), and ha_innobase::info().

ulint dict_index_struct::stat_n_leaf_pages
 approximate number of leaf pages in the

index tree

Definition at line 367 of file dict0mem.h.

Referenced by btr_estimate_number_of_different_key_vals(), dict_index_add_to_cache(), dict_update_statistics(), and ha_innobase::estimate_rows_upper_bound().

dict_table_t* dict_index_struct::table

back pointer to table

Definition at line 321 of file dict0mem.h.

Referenced by btr_compress(), btr_create(), btr_cur_del_mark_set_clust_rec(), btr_cur_del_mark_set_sec_rec(), btr_cur_open_at_rnd_pos_func(), btr_cur_optimistic_update(), btr_cur_parse_del_mark_set_clust_rec(), btr_cur_parse_update_in_place(), btr_cur_search_to_nth_level(), btr_cur_update_in_place(), btr_discard_page(), btr_estimate_n_rows_in_range(), btr_index_rec_validate(), btr_page_alloc(), build_template(), dict_index_add_to_cache(), dict_index_build_data_tuple(), dict_index_build_node_ptr(), dict_index_calc_min_rec_len(), dict_index_contains_col_or_prefix(), dict_index_copy_rec_order_prefix(), dict_index_get_nth_col_pos(), dtuple_convert_big_rec(), ibuf_insert(), innobase_get_mysql_key_number_for_index(), ha_innobase::innobase_initialize_autoinc(), innobase_rec_to_mysql(), lock_clust_rec_modify_check_and_lock(), lock_clust_rec_read_check_and_lock(), lock_rec_insert_check_and_lock(), lock_sec_rec_modify_check_and_lock(), lock_sec_rec_read_check_and_lock(), mlog_open_and_write_index(), mlog_parse_index(), opt_find_all_cols(), page_copy_rec_list_end_no_locks(), page_create_zip(), page_cur_delete_rec(), page_cur_insert_rec_low(), page_cur_insert_rec_zip(), page_cur_parse_insert_rec(), page_delete_rec_list_start(), page_parse_delete_rec_list(), page_print_list(), page_validate(), rec_convert_dtuple_to_rec(), rec_convert_dtuple_to_rec_comp(), rec_copy_prefix_to_buf(), rec_copy_prefix_to_dtuple(), rec_get_n_extern_new(), rec_get_offsets_func(), rec_get_offsets_reverse(), rec_print(), row_build(), row_build_row_ref(), row_build_row_ref_in_tuple(), row_get_clust_rec(), row_ins_index_entry(), row_search_for_mysql(), row_sel_convert_mysql_key_to_innobase(), row_upd_changes_ord_field_binary(), row_upd_index_replace_new_col_vals(), row_upd_index_replace_new_col_vals_index_pos(), row_upd_replace(), row_vers_impl_x_locked_off_kernel(), row_vers_old_has_index_entry(), trx_undo_prev_version_build(), and trx_undo_rec_get_partial_row().

unsigned dict_index_struct::to_be_dropped
 TRUE if this index is marked to be

dropped in ha_innobase::prepare_drop_index(), otherwise FALSE

Definition at line 345 of file dict0mem.h.

trx_id_t dict_index_struct::trx_id
             id of the transaction that created this

index, or 0 if the index existed when InnoDB was started up

Definition at line 373 of file dict0mem.h.

Referenced by row_merge_create_index(), and row_merge_is_index_usable().

unsigned dict_index_struct::trx_id_offset
                   position of the trx id column

in a clustered index record, if the fields before it are known to be of a fixed size, 0 otherwise

Definition at line 329 of file dict0mem.h.

Referenced by row_unlock_for_mysql().

unsigned dict_index_struct::type

The documentation for this struct was generated from the following file: