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
 
dict_table_tforeign_table
 
const char ** foreign_col_names
 
char * referenced_table_name
 
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 387 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 409 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 416 of file dict0mem.h.

mem_heap_t* dict_foreign_struct::heap
             this object is allocated from

this memory heap

Definition at line 388 of file dict0mem.h.

Referenced by dict_foreign_add_to_cache(), dict_mem_foreign_create(), and dict_table_rename_in_cache().

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 392 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 407 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 419 of file dict0mem.h.

dict_table_t* dict_foreign_struct::referenced_table
                        table where the referenced key

is

Definition at line 405 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().

unsigned dict_foreign_struct::type
           0 or DICT_FOREIGN_ON_DELETE_CASCADE

or DICT_FOREIGN_ON_DELETE_SET_NULL

Definition at line 398 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: