From a188bcd287b5669f13a5a82e033a3c191bea664b Mon Sep 17 00:00:00 2001 From: "limeng.1" Date: Tue, 19 Nov 2024 16:43:38 +0800 Subject: [PATCH] fix --- core/storage/btree.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/core/storage/btree.rs b/core/storage/btree.rs index f86c20ed9..48b49a442 100644 --- a/core/storage/btree.rs +++ b/core/storage/btree.rs @@ -9,6 +9,7 @@ use crate::types::{Cursor, CursorResult, OwnedRecord, OwnedValue, SeekKey, SeekO use crate::Result; use std::cell::{Ref, RefCell}; +use std::i32; use std::pin::Pin; use std::rc::Rc; @@ -193,14 +194,9 @@ impl BTreeCursor { _rowid, }) => { let mem_page = self.pager.read_page(_left_child_page as usize)?; - let cell_count = mem_page.borrow().contents.as_ref().unwrap().cell_count(); - if cell_count == 0 { - // leaf page is empty, load next leaf page - self.stack.retreat(); - } else { - self.stack.push(mem_page); - self.stack.set_cell_index(cell_count as i32 - 1); - } + self.stack.push(mem_page); + // use cell_index = i32::MAX to tell next loop to go to the end of the current page + self.stack.set_cell_index(i32::MAX); continue; } BTreeCell::TableLeafCell(TableLeafCell {