From c1bd783735e4fa618295b44a00f301ea87043040 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 671eb1846..5e3da6d7e 100644 --- a/rslib/src/storage/revlog/get.sql +++ b/rslib/src/storage/revlog/get.sql @@ -3,8 +3,8 @@ select 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 d469b273d..eb647a009 100644 --- a/rslib/src/sync/mod.rs +++ b/rslib/src/sync/mod.rs @@ -145,6 +145,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, @@ -152,6 +153,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,