compiler really doesn't like this

This commit is contained in:
Jaremy Creechley 2023-08-29 20:42:53 -07:00
parent a13dee6ea1
commit b010d0a985
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300
2 changed files with 21 additions and 22 deletions

View File

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

View File

@ -58,27 +58,28 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
(await iter.dispose()).tryGet (await iter.dispose()).tryGet
# test "Key should query all keys without values": test "Key should query all keys without values":
# let let
# q = Query.init(key1, value = false) q = Query.init(key1, value = false)
# (await ds.put(key1, val1)).tryGet (await ds.put(key1, val1)).tryGet
# (await ds.put(key2, val2)).tryGet (await ds.put(key2, val2)).tryGet
# (await ds.put(key3, val3)).tryGet (await ds.put(key3, val3)).tryGet
# let let
# res = tryGet(await ds.query(q).waitForAllQueryResults()) all = waitForAllQueryResults(tryGet(await ds.query(q)))
res = tryGet(await all)
# check: check:
# res.len == 3 res.len == 3
# res[0].key.get == key1 res[0].key.get == key1
# res[0].data.len == 0 res[0].data.len == 0
# res[1].key.get == key2 res[1].key.get == key2
# res[1].data.len == 0 res[1].data.len == 0
# res[2].key.get == key3 res[2].key.get == key3
# res[2].data.len == 0 res[2].data.len == 0
# test "Key should not query parent": # test "Key should not query parent":