summaryrefslogtreecommitdiff
path: root/storage/innobase
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2023-02-01 16:30:15 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2023-02-01 17:19:48 +0100
commitd4310eb96ab515e37cbe3db939a6f385252a3e0e (patch)
treea7d54c0c29933038cc4025fb6545f332efd05e3a /storage/innobase
parent638625278e7cadf42633e6f9d1b663ca1e3e1bb1 (diff)
parentbc656c4fa54c12ceabd857e8ae134f8979d82944 (diff)
downloadmariadb-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.cc1
-rw-r--r--storage/innobase/mtr/mtr0mtr.cc13
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();