From 3988010aa2c8fcbffddc7f90d9150b0c31c906d9 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 28 Jan 2021 08:11:35 +1000 Subject: [PATCH] avoid bumping mtime when correcting card eases on upgrade The USN is still set, which should cause the cards to sync in the non-conflict case, but if changes have been made on other devices the ease fix will not take priority, as we could be overwriting the reviews of someone who has not synced in a while. --- rslib/src/storage/card/fix_low_ease.sql | 19 +++++++++---------- rslib/src/storage/card/mod.rs | 4 +--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/rslib/src/storage/card/fix_low_ease.sql b/rslib/src/storage/card/fix_low_ease.sql index d905613d0..9ec51681f 100644 --- a/rslib/src/storage/card/fix_low_ease.sql +++ b/rslib/src/storage/card/fix_low_ease.sql @@ -1,10 +1,9 @@ -update cards -set factor = 2500, - usn = ?, - mod = ? -where factor != 0 - and factor <= 2000 - and ( - did in DECK_IDS - or odid in DECK_IDS - ) \ No newline at end of file +UPDATE cards +SET factor = 2500, + usn = ? +WHERE factor != 0 + AND factor <= 2000 + AND ( + did IN DECK_IDS + OR odid IN DECK_IDS + ) diff --git a/rslib/src/storage/card/mod.rs b/rslib/src/storage/card/mod.rs index abbf2f286..b56f3ade1 100644 --- a/rslib/src/storage/card/mod.rs +++ b/rslib/src/storage/card/mod.rs @@ -404,9 +404,7 @@ impl super::SqliteStorage { ids_to_string(&mut ids, &affected_decks); let sql = include_str!("fix_low_ease.sql").replace("DECK_IDS", &ids); - self.db - .prepare(&sql)? - .execute(params![self.usn(server)?, TimestampSecs::now()])?; + self.db.prepare(&sql)?.execute(params![self.usn(server)?])?; Ok(()) }