diff options
author | Jimmy Yang <jimmy.yang@oracle.com> | 2011-10-27 00:40:53 -0700 |
---|---|---|
committer | Jimmy Yang <jimmy.yang@oracle.com> | 2011-10-27 00:40:53 -0700 |
commit | 93da33309f399be471b94a236bf1ea606cbb5ed6 (patch) | |
tree | 459690667dd32bdfe0fb05993ee219bbc5048d45 /storage | |
parent | 1b7276ffef5abe6dc8430e8057719260339395fa (diff) | |
parent | d1a80e6ad7ce5909301c4fa1549bcedefc4f89cd (diff) | |
download | mariadb-git-93da33309f399be471b94a236bf1ea606cbb5ed6.tar.gz |
Fix Bug #11835889 - INNODB ASSERTS ON BAD FILE READ, INDEX TRANSLATION
TABLE ERROR, RECOVERY
rb://792 approved by Sunny Bains
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 48be2b1adef..c066cea2462 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -5806,13 +5806,13 @@ ha_innobase::innobase_get_index( table. Only print message if the index translation table exists */ if (share->idx_trans_tbl.index_mapping) { - sql_print_error("InnoDB could not find " - "index %s key no %u for " - "table %s through its " - "index translation table", - key ? key->name : "NULL", - keynr, - prebuilt->table->name); + sql_print_warning("InnoDB could not find " + "index %s key no %u for " + "table %s through its " + "index translation table", + key ? key->name : "NULL", + keynr, + prebuilt->table->name); } index = dict_table_get_index_on_name(prebuilt->table, @@ -8285,7 +8285,10 @@ ha_innobase::check( putc('\n', stderr); #endif - if (!btr_validate_index(index, prebuilt->trx)) { + /* If this is an index being created, break */ + if (*index->name == TEMP_INDEX_PREFIX) { + break; + } else if (!btr_validate_index(index, prebuilt->trx)) { is_ok = FALSE; innobase_format_name( |