diff options
Diffstat (limited to 'storage/innobase/dict/dict0load.cc')
-rw-r--r-- | storage/innobase/dict/dict0load.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/storage/innobase/dict/dict0load.cc b/storage/innobase/dict/dict0load.cc index c59f6107c5c..02da027f7a4 100644 --- a/storage/innobase/dict/dict0load.cc +++ b/storage/innobase/dict/dict0load.cc @@ -1424,7 +1424,7 @@ next: look to see if it is already in the tablespace cache. */ if (const fil_space_t* space = fil_space_for_table_exists_in_mem( - space_id, table_name.m_name, false, flags)) { + space_id, table_name.m_name, flags)) { /* Recovery can open a datafile that does not match SYS_DATAFILES. If they don't match, update SYS_DATAFILES. */ @@ -2799,11 +2799,16 @@ dict_load_tablespace( /* The tablespace may already be open. */ table->space = fil_space_for_table_exists_in_mem( - table->space_id, table->name.m_name, false, table->flags); + table->space_id, table->name.m_name, table->flags); if (table->space) { return; } + if (ignore_err == DICT_ERR_IGNORE_DROP) { + table->file_unreadable = true; + return; + } + if (!(ignore_err & DICT_ERR_IGNORE_RECOVER_LOCK)) { ib::error() << "Failed to find tablespace for table " << table->name << " in the cache. Attempting" |