diff options
Diffstat (limited to 'storage/innobase/row/row0uins.cc')
-rw-r--r-- | storage/innobase/row/row0uins.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/storage/innobase/row/row0uins.cc b/storage/innobase/row/row0uins.cc index 50196e78092..ff1a34b46c3 100644 --- a/storage/innobase/row/row0uins.cc +++ b/storage/innobase/row/row0uins.cc @@ -147,8 +147,9 @@ restart: pfs_os_file_t d = OS_FILE_CLOSED; - if (const uint32_t space_id = dict_drop_index_tree( - &node->pcur, node->trx, &mtr)) { + const uint32_t space_id = dict_drop_index_tree( + &node->pcur, node->trx, &mtr); + if (space_id) { if (table) { lock_release_on_rollback(node->trx, table); @@ -187,6 +188,10 @@ restart: os_file_close(d); } + if (space_id) { + ibuf_delete_for_discarded_space(space_id); + } + mtr.start(); ut_a(node->pcur.restore_position( BTR_MODIFY_LEAF, &mtr) == btr_pcur_t::SAME_ALL); |