|
@@ -121,9 +121,9 @@ func (p *pager[T]) iteratePages() <-chan Page[T] {
|
|
if p.cnt == 0 {
|
|
if p.cnt == 0 {
|
|
p.cnt = page.Count()
|
|
p.cnt = page.Count()
|
|
}
|
|
}
|
|
- // We abort when there are zero results or zero
|
|
|
|
- // elements in the page.
|
|
|
|
- if p.cnt == 0 || len(page.Elems()) == 0 {
|
|
|
|
|
|
+ // When page.Count() is zero, we must rely on the
|
|
|
|
+ // absence of returned results to know when to stop.
|
|
|
|
+ if p.cnt == 0 && len(page.Elems()) == 0 {
|
|
p.pagePool <- page
|
|
p.pagePool <- page
|
|
return
|
|
return
|
|
}
|
|
}
|