mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 10:12:41 +01:00
Fix loop in QueryIterator when row count is an exact multiple of page size
Summary: Ref T13152. The pager does a bit of magic here and doesn't populate `nextPageID` when it knows it got an exact final page. The logic misfired in this case and sent us back to the start. Test Plan: - Set page size to 1 to guarantee rows were an exact multiple of page size. - Ran `rebuild-identities` (I no-op'd the actual logic to make it faster). - Before: looped forever. - After: clean exit after processing everything. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13152 Differential Revision: https://secure.phabricator.com/D19479
This commit is contained in:
parent
7acda7e94e
commit
13dd3014a7
1 changed files with 1 additions and 1 deletions
|
@ -29,7 +29,7 @@ final class PhabricatorQueryIterator extends PhutilBufferedIterator {
|
||||||
|
|
||||||
// If we got less than a full page of results, this was the last set of
|
// If we got less than a full page of results, this was the last set of
|
||||||
// results. Throw away the pager so we end iteration.
|
// results. Throw away the pager so we end iteration.
|
||||||
if (count($results) < $pager->getPageSize()) {
|
if (!$pager->getHasMoreResults()) {
|
||||||
$this->pager = null;
|
$this->pager = null;
|
||||||
} else {
|
} else {
|
||||||
$this->pager->setAfterID($pager->getNextPageID());
|
$this->pager->setAfterID($pager->getNextPageID());
|
||||||
|
|
Loading…
Reference in a new issue