local merge

This commit is contained in:
Tor Didriksen 2011-08-29 12:29:13 +02:00
commit 74e7990a96
3 changed files with 14 additions and 4 deletions

View File

@ -5206,7 +5206,8 @@ UNIV_INTERN
void
dict_set_corrupted_index_cache_only(
/*================================*/
dict_index_t* index) /*!< in/out: index */
dict_index_t* index, /*!< in/out: index */
dict_table_t* table) /*!< in/out: table */
{
ut_ad(index);
ut_ad(mutex_own(&dict_sys->mutex));
@ -5216,7 +5217,14 @@ dict_set_corrupted_index_cache_only(
/* Mark the table as corrupted only if the clustered index
is corrupted */
if (dict_index_is_clust(index)) {
index->table->corrupted = TRUE;
dict_table_t* corrupt_table;
corrupt_table = table ? table : index->table;
ut_ad(!index->table || !table || index->table == table);
if (corrupt_table) {
corrupt_table->corrupted = TRUE;
}
}
index->type |= DICT_CORRUPT;

View File

@ -1497,7 +1497,8 @@ dict_load_indexes(
dictionary cache for such metadata corruption,
since we would always be able to set it
when loading the dictionary cache */
dict_set_corrupted_index_cache_only(index);
dict_set_corrupted_index_cache_only(
index, table);
fprintf(stderr,
"InnoDB: Index is corrupt but forcing"

View File

@ -1298,7 +1298,8 @@ UNIV_INTERN
void
dict_set_corrupted_index_cache_only(
/*================================*/
dict_index_t* index); /*!< in/out: index */
dict_index_t* index, /*!< in/out: index */
dict_table_t* table); /*!< in/out: table */
/**********************************************************************//**
Flags a table with specified space_id corrupted in the table dictionary