mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
Revert "MDEV-32899 InnoDB is holding shared dict_sys.latch while waiting for FOREIGN KEY child table lock on DDL"
This reverts commit569da6a7ba, commit768a736174, and commitba6bf7ad9ebecause of a regression that was filed as MDEV-33104.
This commit is contained in:
parent
7e65e3027e
commit
21560bee9d
8 changed files with 78 additions and 127 deletions
|
|
@ -11203,7 +11203,16 @@ ha_innobase::commit_inplace_alter_table(
|
|||
fts_optimize_remove_table(ctx->old_table);
|
||||
}
|
||||
|
||||
error = lock_table_children(ctx->old_table, trx);
|
||||
dict_sys.freeze(SRW_LOCK_CALL);
|
||||
for (auto f : ctx->old_table->referenced_set) {
|
||||
if (dict_table_t* child = f->foreign_table) {
|
||||
error = lock_table_for_trx(child, trx, LOCK_X);
|
||||
if (error != DB_SUCCESS) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
dict_sys.unfreeze();
|
||||
|
||||
if (ctx->new_table->fts) {
|
||||
ut_ad(!ctx->new_table->fts->add_wq);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue