MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dict_foreign_t Struct Reference

#include <dict0mem.h>

Collaboration diagram for dict_foreign_t:

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 668 of file dict0mem.h.

Member Data Documentation

const char** dict_foreign_t::foreign_col_names

names of the columns in the foreign key

Definition at line 685 of file dict0mem.h.

dict_index_t* dict_foreign_t::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 694 of file dict0mem.h.

dict_foreign_t::foreign_list

list node for foreign keys of the table

Definition at line 701 of file dict0mem.h.

dict_table_t* dict_foreign_t::foreign_table

table where the foreign key is

Definition at line 684 of file dict0mem.h.

char* dict_foreign_t::foreign_table_name

foreign table name

Definition at line 681 of file dict0mem.h.

char* dict_foreign_t::foreign_table_name_lookup

foreign table name used for dict lookup

Definition at line 683 of file dict0mem.h.

mem_heap_t* dict_foreign_t::heap

this object is allocated from this memory heap

Definition at line 669 of file dict0mem.h.

char* dict_foreign_t::id

id of the constraint as a null-terminated string

Definition at line 671 of file dict0mem.h.

unsigned dict_foreign_t::n_fields

number of indexes' first fields for which 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 673 of file dict0mem.h.

const char** dict_foreign_t::referenced_col_names

names of the referenced columns in the referenced table

Definition at line 692 of file dict0mem.h.

dict_index_t* dict_foreign_t::referenced_index

referenced index

Definition at line 699 of file dict0mem.h.

dict_foreign_t::referenced_list

list node for referenced keys of the table

Definition at line 704 of file dict0mem.h.

dict_table_t* dict_foreign_t::referenced_table

table where the referenced key is

Definition at line 690 of file dict0mem.h.

char* dict_foreign_t::referenced_table_name

referenced table name

Definition at line 687 of file dict0mem.h.

char* dict_foreign_t::referenced_table_name_lookup

referenced table name for dict lookup

Definition at line 689 of file dict0mem.h.

unsigned dict_foreign_t::type

0 or DICT_FOREIGN_ON_DELETE_CASCADE or DICT_FOREIGN_ON_DELETE_SET_NULL

Definition at line 679 of file dict0mem.h.


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