summaryrefslogtreecommitdiff
path: root/storage/innobase
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2023-02-01 16:29:16 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2023-02-01 16:29:16 +0100
commitbc656c4fa54c12ceabd857e8ae134f8979d82944 (patch)
treed3ed29ed2b993d9ccd390ea2438153bf58d79758 /storage/innobase
parentb923b80cfd8628ef973019bf3dba76dda8d940c4 (diff)
parent4c79e15cc3716f69c044d4287ad2160da8101cdc (diff)
downloadmariadb-git-bc656c4fa54c12ceabd857e8ae134f8979d82944.tar.gz
Merge branch '10.6' into 10.7mariadb-10.7.810.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 83a82f4ce97..94c73ccb970 100644
--- a/storage/innobase/mtr/mtr0mtr.cc
+++ b/storage/innobase/mtr/mtr0mtr.cc
@@ -210,7 +210,20 @@ void mtr_t::commit()
srv_stats.log_write_requests.inc();
}
else
+ {
+ if (m_freed_pages)
+ {
+ ut_ad(!m_freed_pages->empty());
+ ut_ad(m_freed_space == fil_system.temp_space);
+ ut_ad(!is_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();
+ }
release_resources();
}