diff options
Diffstat (limited to 'storage/innobase/row/row0purge.cc')
-rw-r--r-- | storage/innobase/row/row0purge.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/storage/innobase/row/row0purge.cc b/storage/innobase/row/row0purge.cc index 65d26e0a733..cfb42ec46b2 100644 --- a/storage/innobase/row/row0purge.cc +++ b/storage/innobase/row/row0purge.cc @@ -162,8 +162,9 @@ close_and_exit: ut_ad("corrupted SYS_INDEXES record" == 0); } - if (const uint32_t space_id = dict_drop_index_tree( - &node->pcur, nullptr, &mtr)) { + const uint32_t space_id = dict_drop_index_tree( + &node->pcur, nullptr, &mtr); + if (space_id) { if (table) { if (table->get_ref_count() == 0) { dict_sys.remove(table); @@ -184,6 +185,10 @@ close_and_exit: table = nullptr; } + if (space_id) { + ibuf_delete_for_discarded_space(space_id); + } + purge_sys.check_stop_SYS(); mtr.start(); index->set_modified(mtr); |