Merge 10.0 into 10.1

This commit is contained in:
Marko Mäkelä 2018-05-09 15:58:04 +03:00
commit d06ca5bbf6
4 changed files with 8 additions and 4 deletions

View File

@ -507,7 +507,8 @@ dict_table_try_drop_aborted(
ut_ad(table->id == table_id); ut_ad(table->id == table_id);
} }
if (table && table->n_ref_count == ref_count && table->drop_aborted) { if (table && table->n_ref_count == ref_count && table->drop_aborted
&& !UT_LIST_GET_FIRST(table->locks)) {
/* Silence a debug assertion in row_merge_drop_indexes(). */ /* Silence a debug assertion in row_merge_drop_indexes(). */
ut_d(table->n_ref_count++); ut_d(table->n_ref_count++);
row_merge_drop_indexes(trx, table, TRUE); row_merge_drop_indexes(trx, table, TRUE);

View File

@ -3108,7 +3108,8 @@ row_merge_drop_indexes(
A concurrent purge will be prevented by dict_operation_lock. */ A concurrent purge will be prevented by dict_operation_lock. */
if (!locked && table->n_ref_count > 1) { if (!locked && (table->n_ref_count > 1
|| UT_LIST_GET_FIRST(table->locks))) {
/* We will have to drop the indexes later, when the /* We will have to drop the indexes later, when the
table is guaranteed to be no longer in use. Mark the table is guaranteed to be no longer in use. Mark the
indexes as incomplete and corrupted, so that other indexes as incomplete and corrupted, so that other

View File

@ -507,7 +507,8 @@ dict_table_try_drop_aborted(
ut_ad(table->id == table_id); ut_ad(table->id == table_id);
} }
if (table && table->n_ref_count == ref_count && table->drop_aborted) { if (table && table->n_ref_count == ref_count && table->drop_aborted
&& !UT_LIST_GET_FIRST(table->locks)) {
/* Silence a debug assertion in row_merge_drop_indexes(). */ /* Silence a debug assertion in row_merge_drop_indexes(). */
ut_d(table->n_ref_count++); ut_d(table->n_ref_count++);
row_merge_drop_indexes(trx, table, TRUE); row_merge_drop_indexes(trx, table, TRUE);

View File

@ -3111,7 +3111,8 @@ row_merge_drop_indexes(
A concurrent purge will be prevented by dict_operation_lock. */ A concurrent purge will be prevented by dict_operation_lock. */
if (!locked && table->n_ref_count > 1) { if (!locked && (table->n_ref_count > 1
|| UT_LIST_GET_FIRST(table->locks))) {
/* We will have to drop the indexes later, when the /* We will have to drop the indexes later, when the
table is guaranteed to be no longer in use. Mark the table is guaranteed to be no longer in use. Mark the
indexes as incomplete and corrupted, so that other indexes as incomplete and corrupted, so that other