diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2023-02-01 16:30:15 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2023-02-01 17:19:48 +0100 |
commit | d4310eb96ab515e37cbe3db939a6f385252a3e0e (patch) | |
tree | a7d54c0c29933038cc4025fb6545f332efd05e3a /storage/innobase | |
parent | 638625278e7cadf42633e6f9d1b663ca1e3e1bb1 (diff) | |
parent | bc656c4fa54c12ceabd857e8ae134f8979d82944 (diff) | |
download | mariadb-git-d4310eb96ab515e37cbe3db939a6f385252a3e0e.tar.gz |
Merge branch '10.7' into 10.8mariadb-10.8.7
Diffstat (limited to 'storage/innobase')
-rw-r--r-- | storage/innobase/btr/btr0cur.cc | 1 | ||||
-rw-r--r-- | storage/innobase/mtr/mtr0mtr.cc | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/storage/innobase/btr/btr0cur.cc b/storage/innobase/btr/btr0cur.cc index 67b8a68930a..ec1b72244b4 100644 --- a/storage/innobase/btr/btr0cur.cc +++ b/storage/innobase/btr/btr0cur.cc @@ -1890,6 +1890,7 @@ dberr_t btr_cur_t::open_leaf(bool first, dict_index_t *index, ut_ad(root_leaf_rw_latch != RW_NO_LATCH); upper_rw_latch= root_leaf_rw_latch; mtr->rollback_to_savepoint(savepoint); + height= ULINT_UNDEFINED; continue; } else diff --git a/storage/innobase/mtr/mtr0mtr.cc b/storage/innobase/mtr/mtr0mtr.cc index 860462906b6..851d37c9d92 100644 --- a/storage/innobase/mtr/mtr0mtr.cc +++ b/storage/innobase/mtr/mtr0mtr.cc @@ -459,7 +459,20 @@ void mtr_t::commit() buf_flush_ahead(m_commit_lsn, lsns.second == PAGE_FLUSH_SYNC); } else + { + if (m_freed_pages) + { + ut_ad(!m_freed_pages->empty()); + ut_ad(m_freed_space == fil_system.temp_space); + ut_ad(!m_trim_pages); + for (const auto &range : *m_freed_pages) + m_freed_space->add_free_range(range); + delete m_freed_pages; + m_freed_pages= nullptr; + m_freed_space= nullptr; + } release(); + } func_exit: release_resources(); |