From ef9f6b022b7b938f7a12421893a639bc64810cfe Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 25 Jan 2021 09:38:07 +1000 Subject: [PATCH] coerce some more invalid decimal values to ints during sync --- rslib/src/storage/revlog/get.sql | 4 ++-- rslib/src/sync/mod.rs | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/rslib/src/storage/revlog/get.sql b/rslib/src/storage/revlog/get.sql index 647ea5f55..5460e71f0 100644 --- a/rslib/src/storage/revlog/get.sql +++ b/rslib/src/storage/revlog/get.sql @@ -2,8 +2,8 @@ SELECT id, cid, usn, ease, - ivl, - lastIvl, + cast(ivl AS integer), + cast(lastIvl AS integer), factor, time, type diff --git a/rslib/src/sync/mod.rs b/rslib/src/sync/mod.rs index 8a533d94c..48baa82f0 100644 --- a/rslib/src/sync/mod.rs +++ b/rslib/src/sync/mod.rs @@ -147,6 +147,7 @@ pub struct CardEntry { pub usn: Usn, pub ctype: CardType, pub queue: CardQueue, + #[serde(deserialize_with = "deserialize_int_from_number")] pub due: i32, #[serde(deserialize_with = "deserialize_int_from_number")] pub ivl: u32, @@ -154,6 +155,7 @@ pub struct CardEntry { pub reps: u32, pub lapses: u32, pub left: u32, + #[serde(deserialize_with = "deserialize_int_from_number")] pub odue: i32, pub odid: DeckID, pub flags: u8,