remove duplicates from review history

This commit is contained in:
Damien Elmes 2009-03-04 12:10:50 +09:00
parent 4763e41180
commit fa513cab72

View file

@ -54,7 +54,7 @@ decksTable = Table(
Column('created', Float, nullable=False, default=time.time), Column('created', Float, nullable=False, default=time.time),
Column('modified', Float, nullable=False, default=time.time), Column('modified', Float, nullable=False, default=time.time),
Column('description', UnicodeText, nullable=False, default=u""), Column('description', UnicodeText, nullable=False, default=u""),
Column('version', Integer, nullable=False, default=28), Column('version', Integer, nullable=False, default=29),
Column('currentModelId', Integer, ForeignKey("models.id")), Column('currentModelId', Integer, ForeignKey("models.id")),
# syncing # syncing
Column('syncName', UnicodeText), Column('syncName', UnicodeText),
@ -2697,9 +2697,16 @@ where interval < 1""")
deck.s.commit() deck.s.commit()
if deck.version < 28: if deck.version < 28:
deck.s.statement("pragma default_cache_size= 20000") deck.s.statement("pragma default_cache_size= 20000")
deck.s.statement("vacuum")
deck.version = 28 deck.version = 28
deck.s.commit() deck.s.commit()
if deck.version < 29:
# remove duplicates from review history
deck.s.statement("""
delete from reviewHistory where id not in (
select min(id) from reviewHistory group by cardId, time);""")
deck.s.statement("vacuum")
deck.version = 29
deck.s.commit()
# this check we do regardless of version number since doing it on init # this check we do regardless of version number since doing it on init
# seems to crash # seems to crash
if deck.s.scalar("pragma page_size") == 1024: if deck.s.scalar("pragma page_size") == 1024: