mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
improve speed of unused tag deletion in updateCardTags()
This commit is contained in:
parent
19bc9768f1
commit
2f4b853140
1 changed files with 8 additions and 3 deletions
11
anki/deck.py
11
anki/deck.py
|
@ -1628,10 +1628,15 @@ facts.modelId = :id""", id=modelId))
|
||||||
insert into cardTags
|
insert into cardTags
|
||||||
(cardId, tagId, src) values
|
(cardId, tagId, src) values
|
||||||
(:cardId, :tagId, :src)""", d)
|
(:cardId, :tagId, :src)""", d)
|
||||||
|
tags = self.s.column0("select id from tags")
|
||||||
|
unused = []
|
||||||
|
for t in tags:
|
||||||
|
if not self.s.scalar(
|
||||||
|
"select 1 from cardTags where tagId = :d limit 1",
|
||||||
|
d=t):
|
||||||
|
unused.append(t)
|
||||||
self.s.statement("""
|
self.s.statement("""
|
||||||
delete from tags where id not in (select distinct tagId from cardTags)
|
delete from tags where id in %s and priority = 2""" % ids2str(unused))
|
||||||
and priority = 2
|
|
||||||
""")
|
|
||||||
|
|
||||||
def updateTagsForModel(self, model):
|
def updateTagsForModel(self, model):
|
||||||
cards = self.s.all("""
|
cards = self.s.all("""
|
||||||
|
|
Loading…
Reference in a new issue