Skip to content

Commit 6ecc03d

Browse files
author
Raman Barkholenka
committed
fix skip processing in iterview
Do not miss too much !
1 parent 98ad793 commit 6ecc03d

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

couchdb/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -881,7 +881,7 @@ def iterview(self, name, batch, wrapper=None, **options):
881881
if len(rows) <= batch or (limit is not None and limit == 0):
882882
break
883883
# Update options with start keys for next loop.
884-
options.update(startkey=rows[-1]['key'], startkey_docid=rows[-1]['id'])
884+
options.update(startkey=rows[-1]['key'], startkey_docid=rows[-1]['id'], skip=0)
885885

886886
def show(self, name, docid=None, **options):
887887
"""Call a 'show' function.

couchdb/tests/client.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,11 @@ def test_batchsizes(self):
786786
self.assertEqual(len(list(self.db.iterview('test/nums', self.num_docs))), self.num_docs)
787787
self.assertEqual(len(list(self.db.iterview('test/nums', self.num_docs + 1))), self.num_docs)
788788

789+
def test_batchsizes_with_skip(self):
790+
self.assertEqual(
791+
len(list(self.db.iterview('test/nums', self.num_docs / 10, skip=self.num_docs / 2))),
792+
self.num_docs / 2)
793+
789794
def test_limit(self):
790795
# limit=0 doesn't make sense for iterview.
791796
self.assertRaises(ValueError, lambda: next(self.db.iterview('test/nums', 10, limit=0)))

0 commit comments

Comments
 (0)