From f1df09ffd9cfda029f05b385eac5d61d6fef93ae Mon Sep 17 00:00:00 2001 From: Pere Diaz Bou Date: Wed, 9 Apr 2025 11:05:41 +0200 Subject: [PATCH] free no longer used pages after balance --- core/storage/btree.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/storage/btree.rs b/core/storage/btree.rs index b843440cc..5030abf03 100644 --- a/core/storage/btree.rs +++ b/core/storage/btree.rs @@ -2045,7 +2045,11 @@ impl BTreeCursor { rightmost_pointer, ); // TODO: balance root - // TODO: free pages + // We have to free pages that are not used anymore + for i in sibling_count_new..balance_info.sibling_count { + let page = &balance_info.pages_to_balance[i]; + self.pager.free_page(Some(page.clone()), page.get().id)?; + } (WriteState::BalanceStart, Ok(CursorResult::Ok(()))) } WriteState::Finish => todo!(),