From 6b05dbddb045af2a8df6e301d93169fb41a0c32d Mon Sep 17 00:00:00 2001 From: Pere Diaz Bou Date: Tue, 1 Apr 2025 13:11:55 +0200 Subject: [PATCH] remove unnecessary code while building count old and size old balancing --- core/storage/btree.rs | 15 +++------------ core/storage/page_cache.rs | 8 ++++---- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/core/storage/btree.rs b/core/storage/btree.rs index 02b616461..90b49e83f 100644 --- a/core/storage/btree.rs +++ b/core/storage/btree.rs @@ -1513,7 +1513,6 @@ impl BTreeCursor { } // calculate how many pages to allocate let mut new_page_sizes = Vec::new(); - let mut k = 0; let leaf_correction = if leaf { 4 } else { 0 }; // number of bytes beyond header, different from global usableSapce which inccludes // header @@ -1526,23 +1525,12 @@ impl BTreeCursor { let page_contents = page.get_contents(); let free_space = compute_free_space(page_contents, self.usable_space() as u16); - // If we have an empty page of cells, we ignore it - if k > 0 - && cell_array.number_of_cells_per_page[k - 1] - == cell_array.number_of_cells_per_page[k] - { - k -= 1; - } - if !leaf_data { - k += 1; - } new_page_sizes.push(usable_space as u16 - free_space); for overflow in &page_contents.overflow_cells { let size = new_page_sizes.last_mut().unwrap(); // 2 to account of pointer *size += 2 + overflow.payload.len() as u16; } - k += 1; } // Try to pack as many cells to the left @@ -4142,6 +4130,9 @@ mod tests { OwnedValue::Blob(vec![0; size]), )]); run_until_done(|| cursor.insert(&key, &value, true), pager.deref()).unwrap(); + if matches!(validate_btree(pager.clone(), root_page), (_, false)) { + panic!("invalid btree"); + } } tracing::info!( "=========== btree ===========\n{}\n\n", diff --git a/core/storage/page_cache.rs b/core/storage/page_cache.rs index 2004c511a..414343ada 100644 --- a/core/storage/page_cache.rs +++ b/core/storage/page_cache.rs @@ -1,6 +1,6 @@ use std::{cell::RefCell, collections::HashMap, ptr::NonNull}; -use tracing::debug; +use tracing::{debug, trace}; use super::pager::PageRef; @@ -61,7 +61,7 @@ impl DumbLruPageCache { pub fn insert(&mut self, key: PageCacheKey, value: PageRef) { self._delete(key.clone(), false); - debug!("cache_insert(key={:?})", key); + trace!("cache_insert(key={:?})", key); let entry = Box::new(PageCacheEntry { key: key.clone(), next: None, @@ -79,7 +79,7 @@ impl DumbLruPageCache { } pub fn delete(&mut self, key: PageCacheKey) { - debug!("cache_delete(key={:?})", key); + trace!("cache_delete(key={:?})", key); self._delete(key, true) } @@ -105,7 +105,7 @@ impl DumbLruPageCache { /// Get page without promoting entry pub fn peek(&mut self, key: &PageCacheKey, touch: bool) -> Option { - debug!("cache_get(key={:?})", key); + trace!("cache_get(key={:?})", key); let mut ptr = self.get_ptr(key)?; let page = unsafe { ptr.as_mut().page.clone() }; if touch {