| InnoDB Plugin
    1.0
    | 
#include <dict0mem.h>

| Data Fields | |
| index_id_t | id | 
| mem_heap_t * | heap | 
| const char * | name | 
| const char * | table_name | 
| dict_table_t * | table | 
| 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_t * | fields | 
| ut_list_node< dict_index_t > | indexes | 
| btr_search_t * | search_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 | 
Data structure for an index. Most fields will be
initialized to 0, NULL or FALSE in dict_mem_index_create().
| 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
 1.8.1.2
 1.8.1.2