Explain why it fails

This commit is contained in:
Kim Seon Woo
2024-08-16 19:56:06 +09:00
parent 9404a561a9
commit f406481849
2 changed files with 2 additions and 0 deletions

View File

@@ -495,6 +495,7 @@ fn finish_read_page(
pub fn begin_write_btree_page(pager: &Pager, page: &Rc<RefCell<Page>>) -> Result<()> {
let page_source = &pager.page_io;
let page_finish = page.clone();
// page.borrow() returns RefCell<Page> which remains active for the entire begin_write_btree_page function
let page = page.borrow();
let contents = page.contents.read().unwrap();
@@ -505,6 +506,7 @@ pub fn begin_write_btree_page(pager: &Pager, page: &Rc<RefCell<Page>>) -> Result
Box::new(move |bytes_written: i32| {
let buf_copy = buf_copy.clone();
let buf_len = buf_copy.borrow().len();
// requires a mutable borrow of the page_finish's RefCell<Page>
page_finish.borrow_mut().clear_dirty();
if bytes_written < buf_len as i32 {
log::error!("wrote({bytes_written}) less than expected({buf_len})");

BIN
database.db Normal file

Binary file not shown.