query iterator using items is breaks when the DS isn't blocking

This commit is contained in:
Jaremy Creechley 2023-08-29 20:37:10 -07:00 committed by Dmitriy Ryajov
parent 8fccc77387
commit 3a9ee98f02
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4

View File

@ -32,8 +32,10 @@ type
proc waitForAllQueryResults*(qi: Future[?!QueryIter]): Future[?!seq[QueryResponse]] {.async.} =
## for large blocks this would be *expensive*
var res: seq[QueryResponse]
without iter =? (await qi), err:
return failure err
let iterRes = await qi
if iterRes.isErr():
return failure iterRes.error()
let iter = iterRes.get()
while not iter.finished:
let val = await iter.next()