diff options
Diffstat (limited to 'storage/innobase/dict')
-rw-r--r-- | storage/innobase/dict/dict0boot.cc | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/storage/innobase/dict/dict0boot.cc b/storage/innobase/dict/dict0boot.cc index f1133bae3de..e57121041d5 100644 --- a/storage/innobase/dict/dict0boot.cc +++ b/storage/innobase/dict/dict0boot.cc @@ -297,9 +297,9 @@ dberr_t dict_boot() dict_mem_index_add_field(index, "NAME", 0); index->id = DICT_TABLES_ID; - dberr_t error = dict_index_add_to_cache( + err = dict_index_add_to_cache( index, mach_read_from_4(dict_hdr + DICT_HDR_TABLES)); - ut_a(error == DB_SUCCESS); + ut_a(err == DB_SUCCESS); ut_ad(!table->is_instant()); table->indexes.start->n_core_null_bytes = static_cast<uint8_t>( UT_BITS_IN_BYTES(unsigned(table->indexes.start->n_nullable))); @@ -309,9 +309,9 @@ dberr_t dict_boot() dict_mem_index_add_field(index, "ID", 0); index->id = DICT_TABLE_IDS_ID; - error = dict_index_add_to_cache( + err = dict_index_add_to_cache( index, mach_read_from_4(dict_hdr + DICT_HDR_TABLE_IDS)); - ut_a(error == DB_SUCCESS); + ut_a(err == DB_SUCCESS); /*-------------------------*/ table = dict_table_t::create(dict_sys.SYS_TABLE[dict_sys.SYS_COLUMNS], @@ -339,9 +339,9 @@ dberr_t dict_boot() dict_mem_index_add_field(index, "POS", 0); index->id = DICT_COLUMNS_ID; - error = dict_index_add_to_cache( + err = dict_index_add_to_cache( index, mach_read_from_4(dict_hdr + DICT_HDR_COLUMNS)); - ut_a(error == DB_SUCCESS); + ut_a(err == DB_SUCCESS); ut_ad(!table->is_instant()); table->indexes.start->n_core_null_bytes = static_cast<uint8_t>( UT_BITS_IN_BYTES(unsigned(table->indexes.start->n_nullable))); @@ -382,9 +382,9 @@ dberr_t dict_boot() dict_mem_index_add_field(index, "ID", 0); index->id = DICT_INDEXES_ID; - error = dict_index_add_to_cache( + err = dict_index_add_to_cache( index, mach_read_from_4(dict_hdr + DICT_HDR_INDEXES)); - ut_a(error == DB_SUCCESS); + ut_a(err == DB_SUCCESS); ut_ad(!table->is_instant()); table->indexes.start->n_core_null_bytes = static_cast<uint8_t>( UT_BITS_IN_BYTES(unsigned(table->indexes.start->n_nullable))); @@ -411,9 +411,9 @@ dberr_t dict_boot() dict_mem_index_add_field(index, "POS", 0); index->id = DICT_FIELDS_ID; - error = dict_index_add_to_cache( + err = dict_index_add_to_cache( index, mach_read_from_4(dict_hdr + DICT_HDR_FIELDS)); - ut_a(error == DB_SUCCESS); + ut_a(err == DB_SUCCESS); ut_ad(!table->is_instant()); table->indexes.start->n_core_null_bytes = static_cast<uint8_t>( UT_BITS_IN_BYTES(unsigned(table->indexes.start->n_nullable))); @@ -422,7 +422,8 @@ dberr_t dict_boot() err = ibuf_init_at_db_start(); - if (err == DB_SUCCESS) { + if (err == DB_SUCCESS || srv_force_recovery >= SRV_FORCE_NO_DDL_UNDO) { + err = DB_SUCCESS; /* Load definitions of other indexes on system tables */ dict_load_sys_table(dict_sys.sys_tables); |