Loading innobase/dict/dict0dict.c +16 −3 Original line number Diff line number Diff line Loading @@ -2201,7 +2201,8 @@ ulint dict_foreign_add_to_cache( /*======================*/ /* out: DB_SUCCESS or error code */ dict_foreign_t* foreign) /* in, own: foreign key constraint */ dict_foreign_t* foreign, /* in, own: foreign key constraint */ ibool check_types) /* in: TRUE=check type compatibility */ { dict_table_t* for_table; dict_table_t* ref_table; Loading Loading @@ -2237,10 +2238,16 @@ dict_foreign_add_to_cache( } if (for_in_cache->referenced_table == NULL && ref_table) { dict_index_t* types_idx; if (check_types) { types_idx = for_in_cache->foreign_index; } else { types_idx = NULL; } index = dict_foreign_find_index(ref_table, (const char**) for_in_cache->referenced_col_names, for_in_cache->n_fields, for_in_cache->foreign_index); types_idx); if (index == NULL) { dict_foreign_error_report(ef, for_in_cache, Loading @@ -2264,10 +2271,16 @@ dict_foreign_add_to_cache( } if (for_in_cache->foreign_table == NULL && for_table) { dict_index_t* types_idx; if (check_types) { types_idx = for_in_cache->referenced_index; } else { types_idx = NULL; } index = dict_foreign_find_index(for_table, (const char**) for_in_cache->foreign_col_names, for_in_cache->n_fields, for_in_cache->referenced_index); types_idx); if (index == NULL) { dict_foreign_error_report(ef, for_in_cache, Loading innobase/dict/dict0load.c +7 −8 Original line number Diff line number Diff line Loading @@ -868,7 +868,7 @@ dict_load_table( dict_load_indexes(table, heap); err = dict_load_foreigns(table->name); err = dict_load_foreigns(table->name, TRUE); /* if (err != DB_SUCCESS) { Loading Loading @@ -1089,8 +1089,9 @@ ulint dict_load_foreign( /*==============*/ /* out: DB_SUCCESS or error code */ const char* id) /* in: foreign constraint id as a const char* id, /* in: foreign constraint id as a null-terminated string */ ibool check_types)/* in: TRUE=check type compatibility */ { dict_foreign_t* foreign; dict_table_t* sys_foreign; Loading @@ -1102,7 +1103,6 @@ dict_load_foreign( rec_t* rec; byte* field; ulint len; ulint err; mtr_t mtr; #ifdef UNIV_SYNC_DEBUG Loading Loading @@ -1204,9 +1204,7 @@ dict_load_foreign( a new foreign key constraint but loading one from the data dictionary. */ err = dict_foreign_add_to_cache(foreign); return(err); return(dict_foreign_add_to_cache(foreign, check_types)); } /*************************************************************************** Loading @@ -1220,7 +1218,8 @@ ulint dict_load_foreigns( /*===============*/ /* out: DB_SUCCESS or error code */ const char* table_name) /* in: table name */ const char* table_name, /* in: table name */ ibool check_types) /* in: TRUE=check type compatibility */ { btr_pcur_t pcur; mem_heap_t* heap; Loading Loading @@ -1320,7 +1319,7 @@ dict_load_foreigns( /* Load the foreign constraint definition to the dictionary cache */ err = dict_load_foreign(id); err = dict_load_foreign(id, check_types); if (err != DB_SUCCESS) { btr_pcur_close(&pcur); Loading innobase/fil/fil0fil.c +2 −1 Original line number Diff line number Diff line Loading @@ -1450,7 +1450,8 @@ fil_write_flushed_lsn_to_data_files( cache. Note that all data files in the system tablespace 0 are always open. */ if (space->purpose == FIL_TABLESPACE) { if (space->purpose == FIL_TABLESPACE && space->id == 0) { sum_of_sizes = 0; node = UT_LIST_GET_FIRST(space->chain); Loading innobase/include/dict0dict.h +2 −1 Original line number Diff line number Diff line Loading @@ -189,7 +189,8 @@ ulint dict_foreign_add_to_cache( /*======================*/ /* out: DB_SUCCESS or error code */ dict_foreign_t* foreign); /* in, own: foreign key constraint */ dict_foreign_t* foreign, /* in, own: foreign key constraint */ ibool check_types); /* in: TRUE=check type compatibility */ /************************************************************************* Checks if a table is referenced by foreign keys. */ Loading innobase/include/dict0load.h +2 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,8 @@ ulint dict_load_foreigns( /*===============*/ /* out: DB_SUCCESS or error code */ const char* table_name); /* in: table name */ const char* table_name, /* in: table name */ ibool check_types); /* in: TRUE=check type compatibility */ /************************************************************************ Prints to the standard output information on all tables found in the data dictionary system table. */ Loading Loading
innobase/dict/dict0dict.c +16 −3 Original line number Diff line number Diff line Loading @@ -2201,7 +2201,8 @@ ulint dict_foreign_add_to_cache( /*======================*/ /* out: DB_SUCCESS or error code */ dict_foreign_t* foreign) /* in, own: foreign key constraint */ dict_foreign_t* foreign, /* in, own: foreign key constraint */ ibool check_types) /* in: TRUE=check type compatibility */ { dict_table_t* for_table; dict_table_t* ref_table; Loading Loading @@ -2237,10 +2238,16 @@ dict_foreign_add_to_cache( } if (for_in_cache->referenced_table == NULL && ref_table) { dict_index_t* types_idx; if (check_types) { types_idx = for_in_cache->foreign_index; } else { types_idx = NULL; } index = dict_foreign_find_index(ref_table, (const char**) for_in_cache->referenced_col_names, for_in_cache->n_fields, for_in_cache->foreign_index); types_idx); if (index == NULL) { dict_foreign_error_report(ef, for_in_cache, Loading @@ -2264,10 +2271,16 @@ dict_foreign_add_to_cache( } if (for_in_cache->foreign_table == NULL && for_table) { dict_index_t* types_idx; if (check_types) { types_idx = for_in_cache->referenced_index; } else { types_idx = NULL; } index = dict_foreign_find_index(for_table, (const char**) for_in_cache->foreign_col_names, for_in_cache->n_fields, for_in_cache->referenced_index); types_idx); if (index == NULL) { dict_foreign_error_report(ef, for_in_cache, Loading
innobase/dict/dict0load.c +7 −8 Original line number Diff line number Diff line Loading @@ -868,7 +868,7 @@ dict_load_table( dict_load_indexes(table, heap); err = dict_load_foreigns(table->name); err = dict_load_foreigns(table->name, TRUE); /* if (err != DB_SUCCESS) { Loading Loading @@ -1089,8 +1089,9 @@ ulint dict_load_foreign( /*==============*/ /* out: DB_SUCCESS or error code */ const char* id) /* in: foreign constraint id as a const char* id, /* in: foreign constraint id as a null-terminated string */ ibool check_types)/* in: TRUE=check type compatibility */ { dict_foreign_t* foreign; dict_table_t* sys_foreign; Loading @@ -1102,7 +1103,6 @@ dict_load_foreign( rec_t* rec; byte* field; ulint len; ulint err; mtr_t mtr; #ifdef UNIV_SYNC_DEBUG Loading Loading @@ -1204,9 +1204,7 @@ dict_load_foreign( a new foreign key constraint but loading one from the data dictionary. */ err = dict_foreign_add_to_cache(foreign); return(err); return(dict_foreign_add_to_cache(foreign, check_types)); } /*************************************************************************** Loading @@ -1220,7 +1218,8 @@ ulint dict_load_foreigns( /*===============*/ /* out: DB_SUCCESS or error code */ const char* table_name) /* in: table name */ const char* table_name, /* in: table name */ ibool check_types) /* in: TRUE=check type compatibility */ { btr_pcur_t pcur; mem_heap_t* heap; Loading Loading @@ -1320,7 +1319,7 @@ dict_load_foreigns( /* Load the foreign constraint definition to the dictionary cache */ err = dict_load_foreign(id); err = dict_load_foreign(id, check_types); if (err != DB_SUCCESS) { btr_pcur_close(&pcur); Loading
innobase/fil/fil0fil.c +2 −1 Original line number Diff line number Diff line Loading @@ -1450,7 +1450,8 @@ fil_write_flushed_lsn_to_data_files( cache. Note that all data files in the system tablespace 0 are always open. */ if (space->purpose == FIL_TABLESPACE) { if (space->purpose == FIL_TABLESPACE && space->id == 0) { sum_of_sizes = 0; node = UT_LIST_GET_FIRST(space->chain); Loading
innobase/include/dict0dict.h +2 −1 Original line number Diff line number Diff line Loading @@ -189,7 +189,8 @@ ulint dict_foreign_add_to_cache( /*======================*/ /* out: DB_SUCCESS or error code */ dict_foreign_t* foreign); /* in, own: foreign key constraint */ dict_foreign_t* foreign, /* in, own: foreign key constraint */ ibool check_types); /* in: TRUE=check type compatibility */ /************************************************************************* Checks if a table is referenced by foreign keys. */ Loading
innobase/include/dict0load.h +2 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,8 @@ ulint dict_load_foreigns( /*===============*/ /* out: DB_SUCCESS or error code */ const char* table_name); /* in: table name */ const char* table_name, /* in: table name */ ibool check_types); /* in: TRUE=check type compatibility */ /************************************************************************ Prints to the standard output information on all tables found in the data dictionary system table. */ Loading