unfix sqlite.rs

This commit is contained in:
Luc Mcgrady 2025-11-08 21:53:50 +00:00
parent d06912ea92
commit 8a85b0155a
No known key found for this signature in database
GPG key ID: 4F3D7A0B17CC3D9C

View file

@ -332,14 +332,14 @@ fn add_extract_fsrs_retrievability(db: &Connection) -> rusqlite::Result<()> {
return Ok(None); return Ok(None);
}; };
let seconds_elapsed = if let Some(last_review_time) = card_data.last_review_time { let seconds_elapsed = if let Some(last_review_time) = card_data.last_review_time {
(now as u32).saturating_sub(last_review_time.0 as u32) now.saturating_sub(last_review_time.0) as u32
} else if due > 365_000 { } else if due > 365_000 {
// (re)learning card in seconds // (re)learning card in seconds
let Ok(ivl) = ctx.get_raw(2).as_i64() else { let Ok(ivl) = ctx.get_raw(2).as_i64() else {
return Ok(None); return Ok(None);
}; };
let last_review_time = (due as u32).saturating_sub(ivl as u32); let last_review_time = due.saturating_sub(ivl);
(now as u32).saturating_sub(last_review_time) now.saturating_sub(last_review_time) as u32
} else { } else {
let Ok(ivl) = ctx.get_raw(2).as_i64() else { let Ok(ivl) = ctx.get_raw(2).as_i64() else {
return Ok(None); return Ok(None);
@ -347,8 +347,8 @@ fn add_extract_fsrs_retrievability(db: &Connection) -> rusqlite::Result<()> {
let Ok(days_elapsed) = ctx.get_raw(3).as_i64() else { let Ok(days_elapsed) = ctx.get_raw(3).as_i64() else {
return Ok(None); return Ok(None);
}; };
let review_day = (due as u32).saturating_sub(ivl as u32); let review_day = due.saturating_sub(ivl);
(days_elapsed as u32).saturating_sub(review_day) * 86_400 days_elapsed.saturating_sub(review_day) as u32 * 86_400
}; };
let decay = card_data.decay.unwrap_or(FSRS5_DEFAULT_DECAY); let decay = card_data.decay.unwrap_or(FSRS5_DEFAULT_DECAY);
let retrievability = card_data.memory_state().map(|state| { let retrievability = card_data.memory_state().map(|state| {
@ -416,8 +416,8 @@ fn add_extract_fsrs_relative_retrievability(db: &Connection) -> rusqlite::Result
let Ok(ivl) = ctx.get_raw(2).as_i64() else { let Ok(ivl) = ctx.get_raw(2).as_i64() else {
return Ok(None); return Ok(None);
}; };
let last_review_time = due.saturating_sub(ivl) as u32; let last_review_time = due.saturating_sub(ivl);
(now as u32).saturating_sub(last_review_time) now.saturating_sub(last_review_time) as u32
} else { } else {
let Ok(ivl) = ctx.get_raw(2).as_i64() else { let Ok(ivl) = ctx.get_raw(2).as_i64() else {
return Ok(None); return Ok(None);