diff --git a/anki/sync.py b/anki/sync.py index 8a7778dbc..d11cea495 100644 --- a/anki/sync.py +++ b/anki/sync.py @@ -184,7 +184,7 @@ class Syncer(object): def getRevlog(self): r = self.deck.db.all("select * from revlog where id > ? limit ?", - self.ls, self.MAX_REVLOG) + self.ls*1000, self.MAX_REVLOG) if len(r) == self.MAX_REVLOG: raise SyncTooLarge return r @@ -198,7 +198,7 @@ class Syncer(object): ########################################################################## def getFacts(self): - f = self.deck.db.all("select * from facts where id > ? limit ?", + f = self.deck.db.all("select * from facts where mod > ? limit ?", self.ls, self.MAX_FACTS) if len(f) == self.MAX_FACTS: raise SyncTooLarge @@ -225,7 +225,7 @@ class Syncer(object): ########################################################################## def getCards(self): - c = self.deck.db.all("select * from cards where id > ? limit ?", + c = self.deck.db.all("select * from cards where mod > ? limit ?", self.ls, self.MAX_CARDS) if len(c) == self.MAX_CARDS: raise SyncTooLarge diff --git a/tests/test_sync.py b/tests/test_sync.py index a5ab33661..1b1c87c91 100644 --- a/tests/test_sync.py +++ b/tests/test_sync.py @@ -11,8 +11,6 @@ from anki.facts import Fact from anki.cards import Card from tests.shared import getEmptyDeck -#import psyco; psyco.profile() - # Local tests ########################################################################## @@ -24,8 +22,8 @@ server=None def setup_basic(loadDecks=None): global deck1, deck2, client, server if loadDecks: - deck1 = Deck(loadDecks[0], backup=False) - deck2 = Deck(loadDecks[1], backup=False) + deck1 = Deck(loadDecks[0]) + deck2 = Deck(loadDecks[1]) else: deck1 = getEmptyDeck() # add a fact to deck 1 @@ -126,3 +124,18 @@ def test_facts(): assert client.sync() == "success" assert not deck1.db.scalar("select 1 from facts where id = ?", fid) assert not deck2.db.scalar("select 1 from facts where id = ?", fid) + +def _test_speed(): + t = time.time() + setup_basic([os.path.expanduser("~/rapid.anki"), + os.path.expanduser("~/rapid2.anki")]) + print "load %d" % ((time.time() - t)*1000); t = time.time() + deck2.save(mod=intTime()+1) + # 3000 revlog entries: ~128ms + # 3000 cards: ~200ms + # 3000 facts: ~500ms + assert client.sync() != "fullSync" + print "sync %d" % ((time.time() - t)*1000); t = time.time() + + +