MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dict_index_t Struct Reference

#include <dict0mem.h>

Collaboration diagram for dict_index_t:

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:DICT_IT_BITS
unsigned trx_id_offset:MAX_KEY_LENGTH_BITS
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
unsigned online_status:2
dict_field_tfields
 indexes
btr_search_tsearch_info
row_log_tonline_log
rw_lock_t lock
trx_id_t trx_id
zip_pad_info_t zip_pad
ib_uint64_t * stat_n_diff_key_vals
ib_uint64_t * stat_n_sample_sizes
ib_uint64_t * stat_n_non_null_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 537 of file dict0mem.h.

Member Data Documentation

unsigned dict_index_t::cached

TRUE if the index object is in the dictionary cache

Definition at line 570 of file dict0mem.h.

dict_field_t* dict_index_t::fields

array of field descriptions

Definition at line 582 of file dict0mem.h.

mem_heap_t* dict_index_t::heap

memory heap

Definition at line 539 of file dict0mem.h.

index_id_t dict_index_t::id

id of the index

Definition at line 538 of file dict0mem.h.

dict_index_t::indexes

list of indexes of the table

Definition at line 585 of file dict0mem.h.

rw_lock_t dict_index_t::lock

read-write lock protecting the upper levels of the index tree

Definition at line 623 of file dict0mem.h.

unsigned dict_index_t::n_def

number of fields defined so far

Definition at line 567 of file dict0mem.h.

unsigned dict_index_t::n_fields

number of fields in the index

Definition at line 568 of file dict0mem.h.

unsigned dict_index_t::n_nullable

number of nullable fields

Definition at line 569 of file dict0mem.h.

unsigned dict_index_t::n_uniq

number of fields from the beginning which are enough to determine an index entry uniquely

Definition at line 564 of file dict0mem.h.

unsigned dict_index_t::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 561 of file dict0mem.h.

const char* dict_index_t::name

index name

Definition at line 540 of file dict0mem.h.

row_log_t* dict_index_t::online_log

the log of modifications during online index creation; valid when online_status is ONLINE_INDEX_CREATION

Definition at line 589 of file dict0mem.h.

unsigned dict_index_t::online_status

enum online_index_status. Transitions from ONLINE_INDEX_COMPLETE (to ONLINE_INDEX_CREATION) are protected by dict_operation_lock and dict_sys->mutex. Other changes are protected by index->lock.

Definition at line 576 of file dict0mem.h.

unsigned dict_index_t::page

index tree root page number

Definition at line 546 of file dict0mem.h.

btr_search_t* dict_index_t::search_info

info used in optimistic searches

Definition at line 587 of file dict0mem.h.

unsigned dict_index_t::space

space where the index tree is placed

Definition at line 545 of file dict0mem.h.

ulint dict_index_t::stat_index_size

approximate index size in database pages

Definition at line 617 of file dict0mem.h.

ib_uint64_t* dict_index_t::stat_n_diff_key_vals

Statistics for query optimization approximate number of different key values for this index, for each n-column prefix where 1 <= n <= dict_get_n_unique(index) (the array is indexed from 0 to n_uniq-1); we periodically calculate new estimates

Definition at line 597 of file dict0mem.h.

ulint dict_index_t::stat_n_leaf_pages

approximate number of leaf pages in the index tree

Definition at line 620 of file dict0mem.h.

ib_uint64_t* dict_index_t::stat_n_sample_sizes

number of pages that were sampled to calculate each of stat_n_diff_key_vals[], e.g. stat_n_sample_sizes[3] pages were sampled to get the number stat_n_diff_key_vals[3].

Definition at line 605 of file dict0mem.h.

dict_table_t* dict_index_t::table

back pointer to table

Definition at line 542 of file dict0mem.h.

const char* dict_index_t::table_name

table name

Definition at line 541 of file dict0mem.h.

unsigned dict_index_t::to_be_dropped

TRUE if the index is to be dropped; protected by dict_operation_lock

Definition at line 573 of file dict0mem.h.

trx_id_t dict_index_t::trx_id

id of the transaction that created this index, or 0 if the index existed when InnoDB was started up

Definition at line 625 of file dict0mem.h.

unsigned dict_index_t::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 553 of file dict0mem.h.

unsigned dict_index_t::type

index type (DICT_CLUSTERED, DICT_UNIQUE, DICT_UNIVERSAL, DICT_IBUF, DICT_CORRUPT)

Definition at line 549 of file dict0mem.h.

zip_pad_info_t dict_index_t::zip_pad

Information about state of compression failures and successes

Definition at line 628 of file dict0mem.h.


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