Fix Bug #11835889 - INNODB ASSERTS ON BAD FILE READ, INDEX TRANSLATION

TABLE ERROR, RECOVERY
            
rb://792 approved by Sunny Bains
This commit is contained in:
Jimmy Yang 2011-10-27 00:40:53 -07:00
commit da0df7d95d

View file

@ -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(