diff --git a/core/lib.rs b/core/lib.rs index 779fe843a..5a2e227ca 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -1152,7 +1152,15 @@ impl Connection { ) -> Result { let pager = self.pager.borrow(); let (page_ref, c) = pager.read_page_no_cache(page_idx as usize, frame_watermark, true)?; - pager.io.wait_for_completion(c)?; + + match pager.io.wait_for_completion(c) { + Ok(()) => {} + // on windows, zero read will trigger UnexpectedEof + Err(LimboError::IOError(e)) if e.kind() == std::io::ErrorKind::UnexpectedEof => { + return Ok(false) + } + Err(err) => return Err(err), + } let content = page_ref.get_contents(); // empty read - attempt to read absent page