mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-14 12:34:20 +01:00
Fix wal tests remove unwrap from previous Result return val
This commit is contained in:
@@ -808,17 +808,24 @@ impl Wal for WalFile {
|
||||
fn find_frame(&self, page_id: u64) -> Result<Option<u64>> {
|
||||
let shared = self.get_shared();
|
||||
let frames = shared.frame_cache.lock();
|
||||
// if we have read_lock 0, we are reading straight from the db file
|
||||
if self.max_frame_read_lock_index.get() == 0 {
|
||||
return Ok(None);
|
||||
}
|
||||
let frames = frames.get(&page_id);
|
||||
if frames.is_none() {
|
||||
return Ok(None);
|
||||
}
|
||||
let frames = frames.unwrap();
|
||||
for frame in frames.iter().rev() {
|
||||
if *frame <= self.max_frame {
|
||||
return Ok(Some(*frame));
|
||||
}
|
||||
if let Some(&f) = frames
|
||||
.iter()
|
||||
.rev()
|
||||
.find(|&&f| f <= self.max_frame && f >= self.min_frame)
|
||||
{
|
||||
Ok(Some(f))
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
Ok(None)
|
||||
}
|
||||
|
||||
/// Read a frame from the WAL.
|
||||
@@ -1917,17 +1924,9 @@ pub mod test {
|
||||
let readmark = {
|
||||
let pager = conn2.pager.borrow_mut();
|
||||
let mut wal2 = pager.wal.borrow_mut();
|
||||
<<<<<<< HEAD
|
||||
assert!(matches!(wal2.begin_read_tx().unwrap().0, LimboResult::Ok));
|
||||
}
|
||||
||||||| parent of 27000501 (Apply suggestions/fixes and add extensive comments to wal chkpt)
|
||||
assert!(matches!(wal2.begin_read_tx().unwrap(), LimboResult::Ok));
|
||||
}
|
||||
=======
|
||||
assert!(matches!(wal2.begin_read_tx().unwrap(), LimboResult::Ok));
|
||||
wal2.get_max_frame()
|
||||
};
|
||||
>>>>>>> 27000501 (Apply suggestions/fixes and add extensive comments to wal chkpt)
|
||||
|
||||
// generate more frames that the reader will not see.
|
||||
bulk_inserts(&conn1.clone(), 15, 2);
|
||||
@@ -2096,7 +2095,7 @@ pub mod test {
|
||||
let r1_max_frame = {
|
||||
let pager = conn_r1.pager.borrow_mut();
|
||||
let mut wal = pager.wal.borrow_mut();
|
||||
assert!(matches!(wal.begin_read_tx().unwrap(), LimboResult::Ok));
|
||||
assert!(matches!(wal.begin_read_tx().unwrap().0, LimboResult::Ok));
|
||||
wal.get_max_frame()
|
||||
};
|
||||
bulk_inserts(&conn_writer, 5, 10);
|
||||
@@ -2105,7 +2104,7 @@ pub mod test {
|
||||
let r2_max_frame = {
|
||||
let pager = conn_r2.pager.borrow_mut();
|
||||
let mut wal = pager.wal.borrow_mut();
|
||||
assert!(matches!(wal.begin_read_tx().unwrap(), LimboResult::Ok));
|
||||
assert!(matches!(wal.begin_read_tx().unwrap().0, LimboResult::Ok));
|
||||
wal.get_max_frame()
|
||||
};
|
||||
|
||||
@@ -2197,7 +2196,7 @@ pub mod test {
|
||||
);
|
||||
|
||||
// release write lock
|
||||
conn2.pager.borrow().wal.borrow().end_write_tx().unwrap();
|
||||
conn2.pager.borrow().wal.borrow().end_write_tx();
|
||||
|
||||
// now restart should succeed
|
||||
let result = {
|
||||
|
||||
Reference in New Issue
Block a user