mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -04:00
auto-analyze when we've updated a dynamic index
This commit is contained in:
parent
6563f0cefb
commit
5de6bb57ed
1 changed files with 11 additions and 4 deletions
15
anki/deck.py
15
anki/deck.py
|
@ -3562,15 +3562,22 @@ seq > :s and seq <= :e order by seq desc""", s=start, e=end)
|
||||||
if (self.newCardOrder == NEW_CARDS_NEW_FIRST):
|
if (self.newCardOrder == NEW_CARDS_NEW_FIRST):
|
||||||
required.append("dueDesc")
|
required.append("dueDesc")
|
||||||
# add/delete
|
# add/delete
|
||||||
|
analyze = False
|
||||||
for (k, v) in indices.items():
|
for (k, v) in indices.items():
|
||||||
|
n = "ix_cards_%s2" % k
|
||||||
if k in required:
|
if k in required:
|
||||||
self.s.statement(
|
if not self.s.scalar(
|
||||||
"create index if not exists ix_cards_%s2 on cards %s" %
|
"select 1 from sqlite_master where name = :n", n=n):
|
||||||
(k, v))
|
self.s.statement(
|
||||||
|
"create index %s on cards %s" %
|
||||||
|
(n, v))
|
||||||
|
analyze = True
|
||||||
else:
|
else:
|
||||||
# leave old indices for older clients
|
# leave old indices for older clients
|
||||||
#self.s.statement("drop index if exists ix_cards_%s" % k)
|
#self.s.statement("drop index if exists ix_cards_%s" % k)
|
||||||
self.s.statement("drop index if exists ix_cards_%s2" % k)
|
self.s.statement("drop index if exists %s" % n)
|
||||||
|
if analyze:
|
||||||
|
self.s.statement("analyze")
|
||||||
|
|
||||||
# Shared decks
|
# Shared decks
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
Loading…
Reference in a new issue