Drizzled Public API Documentation

dict_foreign_struct Struct Reference

#include <dict0mem.h>

Public Attributes

mem_heap_theap
 
char * id
 
unsigned n_fields:10
 
unsigned type:6
 
char * foreign_table_name
 
char * foreign_table_name_lookup
 
dict_table_tforeign_table
 
const char ** foreign_col_names
 
char * referenced_table_name
 
char * referenced_table_name_lookup
 
dict_table_treferenced_table
 
const char ** referenced_col_names
 
dict_index_tforeign_index
 
dict_index_treferenced_index
 
 foreign_list
 
 referenced_list
 

Detailed Description

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.

Member Data Documentation

const char** dict_foreign_struct::foreign_col_names
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

list node for foreign keys of the table

Definition at line 455 of file dict0mem.h.

char* dict_foreign_struct::foreign_table_name_lookup
mem_heap_t* dict_foreign_struct::heap
char* dict_foreign_struct::id
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_foreign_struct::referenced_list

list node for referenced keys of the table

Definition at line 458 of file dict0mem.h.

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_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().


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