![]() |
MySQL 8.0.43
Source Code Documentation
|
Data structure for a foreign key constraint; an example: FOREIGN KEY (A, B) REFERENCES TABLE2 (C, D). More...
#include <dict0mem.h>
Public Member Functions | |
| bool | is_fts_col_affected () const |
| Check whether foreign key constraint contains a column with a full index on it. More... | |
Public Attributes | |
| mem_heap_t * | heap |
| this object is allocated from this memory heap More... | |
| char * | id |
| id of the constraint as a null-terminated string More... | |
| unsigned | n_fields: 10 |
| 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 More... | |
| unsigned | type: 6 |
| 0 or DICT_FOREIGN_ON_DELETE_CASCADE or DICT_FOREIGN_ON_DELETE_SET_NULL More... | |
| char * | foreign_table_name |
| foreign table name More... | |
| char * | foreign_table_name_lookup |
| foreign table name used for dict lookup More... | |
| dict_table_t * | foreign_table |
| table where the foreign key is More... | |
| const char ** | foreign_col_names |
| names of the columns in the foreign key More... | |
| char * | referenced_table_name |
| referenced table name More... | |
| char * | referenced_table_name_lookup |
| referenced table name for dict lookup More... | |
| dict_table_t * | referenced_table |
| table where the referenced key is More... | |
| const char ** | referenced_col_names |
| names of the referenced columns in the referenced table More... | |
| dict_index_t * | foreign_index |
| foreign index; we require that both tables contain explicitly defined indexes for the constraint: InnoDB does not generate new indexes implicitly More... | |
| dict_index_t * | referenced_index |
| referenced index More... | |
| dict_vcol_set * | v_cols |
| set of virtual columns affected by foreign key constraint. More... | |
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().
| bool dict_foreign_t::is_fts_col_affected | ( | ) | const |
Check whether foreign key constraint contains a column with a full index on it.
The function is used in the context of cascading DML operations.
| true | if the column has FTS index on it. |
| false | if the FK table has no FTS index or has self referential relationship |
| const char** dict_foreign_t::foreign_col_names |
names of the columns in the foreign key
| 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
| dict_table_t* dict_foreign_t::foreign_table |
table where the foreign key is
| char* dict_foreign_t::foreign_table_name |
foreign table name
| char* dict_foreign_t::foreign_table_name_lookup |
foreign table name used for dict lookup
| mem_heap_t* dict_foreign_t::heap |
this object is allocated from this memory heap
| char* dict_foreign_t::id |
id of the constraint as a null-terminated string
| 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
| const char** dict_foreign_t::referenced_col_names |
names of the referenced columns in the referenced table
| dict_index_t* dict_foreign_t::referenced_index |
referenced index
| dict_table_t* dict_foreign_t::referenced_table |
table where the referenced key is
| char* dict_foreign_t::referenced_table_name |
referenced table name
| char* dict_foreign_t::referenced_table_name_lookup |
referenced table name for dict lookup
| unsigned dict_foreign_t::type |
0 or DICT_FOREIGN_ON_DELETE_CASCADE or DICT_FOREIGN_ON_DELETE_SET_NULL
| dict_vcol_set* dict_foreign_t::v_cols |
set of virtual columns affected by foreign key constraint.