InnoDB Plugin  1.0
Data Fields
dict_index_t Struct Reference

#include <dict0mem.h>

Collaboration diagram for dict_index_t:
Collaboration graph
[legend]

Data Fields

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
ut_list_node< dict_index_tindexes
btr_search_tsearch_info
row_log_t * online_log
rw_lock_t lock
trx_id_t trx_id
zip_pad_info_t zip_pad
ulint magic_n
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().

Field Documentation

unsigned dict_index_t::cached

TRUE if the index object is in the dictionary cache

dict_field_t* dict_index_t::fields

array of field descriptions

mem_heap_t* dict_index_t::heap

memory heap

index_id_t dict_index_t::id

id of the index

ut_list_node< dict_index_t > dict_index_t::indexes

list of indexes of the table

rw_lock_t dict_index_t::lock

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

ulint dict_index_t::magic_n

magic number

unsigned dict_index_t::n_def

number of fields defined so far

unsigned dict_index_t::n_fields

number of fields in the index

unsigned dict_index_t::n_nullable

number of nullable fields

unsigned dict_index_t::n_uniq

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

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

const char* dict_index_t::name

index name

row_log_t* dict_index_t::online_log

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

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.

unsigned dict_index_t::page

index tree root page number

btr_search_t* dict_index_t::search_info

info used in optimistic searches

unsigned dict_index_t::space

space where the index tree is placed

ulint dict_index_t::stat_index_size

approximate index size in database pages

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

ulint dict_index_t::stat_n_leaf_pages

approximate number of leaf pages in the index tree

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].

dict_table_t* dict_index_t::table

back pointer to table

const char* dict_index_t::table_name

table name

unsigned dict_index_t::to_be_dropped

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

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

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

unsigned dict_index_t::type

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

zip_pad_info_t dict_index_t::zip_pad

Information about state of compression failures and successes


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