mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-08 09:44:21 +01:00
Add self.stack.retreat() when balancing is not needed. Fixes: https://github.com/tursodatabase/limbo/issues/1019
This commit is contained in:
@@ -1885,7 +1885,22 @@ impl BTreeCursor {
|
||||
drop_cell(contents, cell_idx, self.usable_space() as u16)?;
|
||||
}
|
||||
|
||||
// TODO(Krishna): Implement balance after delete. I will implement after balance_nonroot is extended.
|
||||
let page = self.stack.top();
|
||||
return_if_locked!(page);
|
||||
|
||||
if !page.is_loaded() {
|
||||
self.pager.load_page(page.clone())?;
|
||||
return Ok(CursorResult::IO);
|
||||
}
|
||||
|
||||
let contents = page.get().contents.as_ref().unwrap();
|
||||
let free_space = compute_free_space(contents, self.usable_space() as u16);
|
||||
if free_space as usize * 3 > self.usable_space() * 2 {
|
||||
//need balancing
|
||||
} else {
|
||||
self.stack.retreat();
|
||||
return Ok(CursorResult::Ok(()));
|
||||
}
|
||||
Ok(CursorResult::Ok(()))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user