summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorJimmy Yang <jimmy.yang@oracle.com>2011-10-27 00:40:53 -0700
committerJimmy Yang <jimmy.yang@oracle.com>2011-10-27 00:40:53 -0700
commit93da33309f399be471b94a236bf1ea606cbb5ed6 (patch)
tree459690667dd32bdfe0fb05993ee219bbc5048d45 /storage
parent1b7276ffef5abe6dc8430e8057719260339395fa (diff)
parentd1a80e6ad7ce5909301c4fa1549bcedefc4f89cd (diff)
downloadmariadb-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.cc19
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(