Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 195a17d

Browse files
authored
Merge pull request #404 from cloudant/403-remove-unnecessary-request-in-result-iter
403 remove unnecessary request in Result iteration
2 parents 4435d84 + e1c4846 commit 195a17d

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
- [NEW] Add custom JSON encoder/decoder option to `Document` constructor.
44
- [NEW] Add new view parameters, `stable` and `update`, as keyword arguments to `get_view_result`.
55
- [FIXED] Case where an exception was raised after successful retry when using `doc.update_field`.
6+
- [FIXED] Removed unnecessary request when retrieving a Result collection that is less than the 'page_size' value
67

78
# 2.9.0 (2018-06-13)
89

src/cloudant/result.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -341,23 +341,26 @@ def __iter__(self):
341341
raise ResultException(103, invalid_options, self.options)
342342

343343
try:
344-
if int(self._page_size) <= 0:
344+
self._page_size = int(self._page_size)
345+
if self._page_size <= 0:
345346
raise ResultException(104, self._page_size)
346347
except ValueError:
347348
raise ResultException(104, self._page_size)
348349

349350
skip = 0
350351
while True:
351352
response = self._ref(
352-
limit=int(self._page_size),
353+
limit=self._page_size,
353354
skip=skip,
354355
**self.options
355356
)
356357
result = self._parse_data(response)
357-
skip += int(self._page_size)
358+
skip += self._page_size
358359
if result:
359360
for row in result:
360361
yield row
362+
if len(result) < self._page_size:
363+
break
361364
del result
362365
else:
363366
break

0 commit comments

Comments
 (0)