#include <dict0mem.h>
Public Attributes | |
mem_heap_t * | heap |
char * | id |
unsigned | n_fields:10 |
unsigned | type:6 |
char * | foreign_table_name |
char * | foreign_table_name_lookup |
dict_table_t * | foreign_table |
const char ** | foreign_col_names |
char * | referenced_table_name |
char * | referenced_table_name_lookup |
dict_table_t * | referenced_table |
const char ** | referenced_col_names |
dict_index_t * | foreign_index |
dict_index_t * | referenced_index |
foreign_list | |
referenced_list | |
Data structure for a foreign key constraint; an example:
FOREIGN KEY (A, B) REFERENCES TABLE2 (C, D). Most fields will be initialized to 0, NULL or FALSE in dict_mem_foreign_create().
Definition at line 422 of file dict0mem.h.
const char** dict_foreign_struct::foreign_col_names |
names of the columns in the
foreign key
Definition at line 439 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_foreign_find_equiv_index(), dict_print_info_on_foreign_key_in_create_format(), and ha_innobase::get_foreign_key_list().
dict_index_t* dict_foreign_struct::foreign_index |
foreign index; we require that
both tables contain explicitly defined indexes for the constraint: InnoDB does not generate new indexes implicitly
Definition at line 448 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_foreign_find_equiv_index(), dict_table_get_foreign_constraint(), dict_table_replace_index_in_foreign_list(), and row_ins_check_foreign_constraint().
dict_foreign_struct::foreign_list |
dict_table_t* dict_foreign_struct::foreign_table |
table where the foreign key is
Definition at line 438 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_foreign_find_equiv_index(), row_discard_tablespace_for_mysql(), row_drop_table_for_mysql(), row_ins_check_foreign_constraint(), and row_truncate_table_for_mysql().
char* dict_foreign_struct::foreign_table_name |
foreign table name
Definition at line 435 of file dict0mem.h.
Referenced by dict_mem_foreign_table_name_lookup_set(), dict_process_sys_foreign_rec(), dict_table_rename_in_cache(), row_discard_tablespace_for_mysql(), row_drop_table_for_mysql(), row_ins_check_foreign_constraint(), and row_truncate_table_for_mysql().
char* dict_foreign_struct::foreign_table_name_lookup |
foreign table name used for dict lookup
Definition at line 436 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_mem_foreign_table_name_lookup_set(), dict_print_info_on_foreign_key_in_create_format(), and row_drop_table_for_mysql().
mem_heap_t* dict_foreign_struct::heap |
this object is allocated from
this memory heap
Definition at line 423 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_mem_foreign_create(), dict_mem_foreign_table_name_lookup_set(), dict_mem_referenced_table_name_lookup_set(), and dict_table_rename_in_cache().
char* dict_foreign_struct::id |
id of the constraint as a
null-terminated string
Definition at line 425 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_print_info_on_foreign_key_in_create_format(), dict_process_sys_foreign_rec(), dict_table_rename_in_cache(), and ha_innobase::get_foreign_key_list().
unsigned dict_foreign_struct::n_fields |
number of indexes' first fields
for which the the foreign key constraint is defined: we allow the indexes to contain more fields than mentioned in the constraint, as long as the first fields are as mentioned
Definition at line 427 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_foreign_find_equiv_index(), dict_process_sys_foreign_rec(), ha_innobase::get_foreign_key_list(), and row_ins_check_foreign_constraint().
const char** dict_foreign_struct::referenced_col_names |
names of the referenced
columns in the referenced table
Definition at line 446 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_print_info_on_foreign_key_in_create_format(), and ha_innobase::get_foreign_key_list().
dict_index_t* dict_foreign_struct::referenced_index |
referenced index
Definition at line 453 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_table_get_foreign_constraint(), dict_table_get_referenced_constraint(), dict_table_remove_from_cache(), dict_table_rename_in_cache(), ha_innobase::get_foreign_key_list(), and row_ins_check_foreign_constraint().
dict_foreign_struct::referenced_list |
dict_table_t* dict_foreign_struct::referenced_table |
table where the referenced key
is
Definition at line 444 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_table_remove_from_cache(), dict_table_rename_in_cache(), and row_ins_check_foreign_constraint().
char* dict_foreign_struct::referenced_table_name |
referenced table name
Definition at line 441 of file dict0mem.h.
Referenced by dict_mem_referenced_table_name_lookup_set(), dict_print_info_on_foreign_key_in_create_format(), dict_process_sys_foreign_rec(), dict_table_rename_in_cache(), ha_innobase::get_foreign_key_list(), and row_ins_check_foreign_constraint().
char* dict_foreign_struct::referenced_table_name_lookup |
referenced table name for dict lookup
Definition at line 442 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_mem_referenced_table_name_lookup_set(), and dict_print_info_on_foreign_key_in_create_format().
unsigned dict_foreign_struct::type |
0 or DICT_FOREIGN_ON_DELETE_CASCADE
or DICT_FOREIGN_ON_DELETE_SET_NULL
Definition at line 433 of file dict0mem.h.
Referenced by dict_foreign_add_to_cache(), dict_print_info_on_foreign_key_in_create_format(), dict_process_sys_foreign_rec(), ha_innobase::get_foreign_key_list(), and row_ins_check_foreign_constraint().