From 8a1df1728fe1778e67a2026911d3f94ca0e0d839 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 8 Feb 2011 02:45:22 +0900 Subject: [PATCH] rebuildTypes() - ensure we're fixing relativeDelay for suspended cards - remove priority compat code --- anki/deck.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/anki/deck.py b/anki/deck.py index fd230b383..8418d4cb5 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -395,17 +395,18 @@ New type: %s""" % (self.failedSoonCount, self.revCount, self.newCountToday, def rebuildTypes(self): "Rebuild the type cache. Only necessary on upgrade." + # set canonical type first + self.s.statement(""" +update cards set +relativeDelay = (case +when successive then 1 when reps then 0 else 2 end) +""") + # then current type based on that self.s.statement(""" update cards set type = (case -when successive then 1 when reps then 0 else 2 end), -relativeDelay = (case -when successive then 1 when reps then 0 else 2 end) -where type >= 0 +when type >= 0 then relativeDelay else relativeDelay - 3 end) """) - # old-style suspended cards - self.s.statement( - "update cards set type = type - 3 where priority = -3 and type >= 0") def _cardQueue(self, card): return self.cardType(card)