36 #ifndef UNIV_HOTBACKUP
51 #define DICT_CLUSTERED 1
53 #define DICT_UNIVERSAL 4
59 #define DICT_TABLE_ORDINARY 1
61 #define DICT_TABLE_CLUSTER_MEMBER 2
62 #define DICT_TABLE_CLUSTER 3
68 #define DICT_TF_COMPACT 1
76 #define DICT_TF_ZSSIZE_SHIFT 1
77 #define DICT_TF_ZSSIZE_MASK (15 << DICT_TF_ZSSIZE_SHIFT)
78 #define DICT_TF_ZSSIZE_MAX (UNIV_PAGE_SIZE_SHIFT - PAGE_ZIP_MIN_SIZE_SHIFT + 1)
83 #define DICT_TF_FORMAT_SHIFT 5
84 #define DICT_TF_FORMAT_MASK \
85 ((~(~0 << (DICT_TF_BITS - DICT_TF_FORMAT_SHIFT))) << DICT_TF_FORMAT_SHIFT)
86 #define DICT_TF_FORMAT_51 0
87 #define DICT_TF_FORMAT_ZIP 1
91 #define DICT_TF_FORMAT_MAX DICT_TF_FORMAT_ZIP
94 #define DICT_TF_FORMAT_MIN DICT_TF_FORMAT_51
97 #define DICT_TF_BITS 6
98 #if (1 << (DICT_TF_BITS - DICT_TF_FORMAT_SHIFT)) <= DICT_TF_FORMAT_MAX
99 # error "DICT_TF_BITS is insufficient for DICT_TF_FORMAT_MAX"
110 #define DICT_TF2_SHIFT DICT_TF_BITS
113 #define DICT_TF2_TEMPORARY 1
115 #define DICT_TF2_BITS (DICT_TF2_SHIFT + 1)
126 #define DICT_FK_MAX_RECURSIVE_LOAD 255
134 #define FK_MAX_CASCADE_DEL 255
191 const char* table_name,
192 const char* index_name,
206 const char* table_name,
207 const char* index_name,
312 #define DICT_MAX_INDEX_COL_LEN REC_MAX_INDEX_COL_LEN
338 #ifndef UNIV_HOTBACKUP
368 #ifndef UNIV_HOTBACKUP
382 ib_int64_t* stat_n_non_null_key_vals;
401 #ifdef UNIV_BLOB_DEBUG
411 # define DICT_INDEX_MAGIC_N 76789786
461 #define DICT_FOREIGN_ON_DELETE_CASCADE 1
462 #define DICT_FOREIGN_ON_DELETE_SET_NULL 2
463 #define DICT_FOREIGN_ON_UPDATE_CASCADE 4
464 #define DICT_FOREIGN_ON_UPDATE_SET_NULL 8
465 #define DICT_FOREIGN_ON_DELETE_NO_ACTION 16
466 #define DICT_FOREIGN_ON_UPDATE_NO_ACTION 32
476 const char* dir_path_of_temp_table;
486 unsigned ibd_file_missing:1;
491 unsigned tablespace_discarded:1;
500 unsigned corrupted:1;
503 const char* col_names;
509 #ifndef UNIV_HOTBACKUP
510 hash_node_t name_hash;
523 ulint n_mysql_handles_opened;
529 unsigned fk_max_recusive_level:8;
535 ulint n_foreign_key_checks_running;
553 ibool does_not_fit_in_memory;
572 unsigned stat_initialized:1;
575 ib_int64_t stat_n_rows;
578 ulint stat_clustered_index_size;
581 ulint stat_sum_of_other_index_sizes;
583 ulint stat_modified_counter;
626 ulong n_waiting_or_granted_auto_inc_locks;
635 const trx_t* autoinc_trx;
645 # define DICT_TABLE_MAGIC_N 76333786
650 #include "dict0mem.ic"
UNIV_INTERN void dict_mem_index_add_field(dict_index_t *index, const char *name, ulint prefix_len)
char * foreign_table_name_lookup
char * foreign_table_name
UNIV_INLINE void dict_mem_fill_index_struct(dict_index_t *index, mem_heap_t *heap, const char *table_name, const char *index_name, ulint space, ulint type, ulint n_fields)
char * referenced_table_name_lookup
UNIV_INTERN dict_index_t * dict_mem_index_create(const char *table_name, const char *index_name, ulint space, ulint type, ulint n_fields)
UNIV_INTERN void dict_mem_table_free(dict_table_t *table)
char * referenced_table_name
unsigned n_user_defined_cols
dict_index_t * foreign_index
typedef UT_LIST_BASE_NODE_T(mutex_t) ut_list_base_node_t
UNIV_INTERN void dict_mem_fill_column_struct(dict_col_t *column, ulint col_pos, ulint mtype, ulint prtype, ulint col_len)
const char ** referenced_col_names
#define UT_LIST_NODE_T(TYPE)
ib_int64_t * stat_n_diff_key_vals
UNIV_INTERN dict_table_t * dict_mem_table_create(const char *name, ulint space, ulint n_cols, ulint flags)
btr_search_t * search_info
UNIV_INTERN void dict_mem_table_add_col(dict_table_t *table, mem_heap_t *heap, const char *name, ulint mtype, ulint prtype, ulint len)
UNIV_INTERN void dict_mem_foreign_table_name_lookup_set(dict_foreign_t *foreign, ibool do_alloc)
UNIV_INTERN void dict_mem_index_free(dict_index_t *index)
dict_table_t * referenced_table
UNIV_INTERN dict_foreign_t * dict_mem_foreign_create(void)
dict_table_t * foreign_table
UNIV_INTERN void dict_mem_referenced_table_name_lookup_set(dict_foreign_t *foreign, ibool do_alloc)
const char ** foreign_col_names
dict_index_t * referenced_index