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
parent fb09217a54
commit aec0459ec3
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300

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()