From 942307190ec60af9233b5846b56de4bda2f0e923 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 26 Jan 2011 15:04:32 +0900 Subject: [PATCH] catch duplicate tags in upgrade --- anki/deck.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/anki/deck.py b/anki/deck.py index 51e807fd4..ffd203bbd 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -3847,8 +3847,14 @@ create index if not exists ix_factsDeleted_factId on factsDeleted (factId)""") deck.s.statement(""" create index if not exists ix_mediaDeleted_factId on mediaDeleted (mediaId)""") # tags - deck.s.statement(""" -create unique index if not exists ix_tags_tag on tags (tag)""") + txt = "create unique index if not exists ix_tags_tag on tags (tag)" + try: + deck.s.statement(txt) + except: + deck.s.statement(""" +delete from tags where exists (select 1 from tags t2 where tags.tag = t2.tag +and tags.rowid > t2.rowid)""") + deck.s.statement(txt) deck.s.statement(""" create index if not exists ix_cardTags_tagCard on cardTags (tagId, cardId)""") deck.s.statement("""