From 2d2b663516e96867a65da0305b0bca508af3e383 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Tue, 29 Aug 2023 20:42:53 -0700 Subject: [PATCH] compiler really doesn't like this --- datastore/query.nim | 10 ++++----- tests/datastore/querycommontests.nim | 33 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/datastore/query.nim b/datastore/query.nim index c286b65..ff48510 100644 --- a/datastore/query.nim +++ b/datastore/query.nim @@ -29,14 +29,12 @@ type next*: GetNext 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* var res: seq[QueryResponse] - # let iterRes = await qi - # if iterRes.isErr(): - # return failure iterRes.error() - # let iter = iterRes.get() - let iter = qi + # if qi.isErr(): + # return failure qi.error() + # let iter = qi.get() while not iter.finished: let val = await iter.next() diff --git a/tests/datastore/querycommontests.nim b/tests/datastore/querycommontests.nim index 91277f3..0716e4b 100644 --- a/tests/datastore/querycommontests.nim +++ b/tests/datastore/querycommontests.nim @@ -58,27 +58,28 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} = (await iter.dispose()).tryGet - # test "Key should query all keys without values": - # let - # q = Query.init(key1, value = false) + test "Key should query all keys without values": + let + q = Query.init(key1, value = false) - # (await ds.put(key1, val1)).tryGet - # (await ds.put(key2, val2)).tryGet - # (await ds.put(key3, val3)).tryGet + (await ds.put(key1, val1)).tryGet + (await ds.put(key2, val2)).tryGet + (await ds.put(key3, val3)).tryGet - # let - # res = tryGet(await ds.query(q).waitForAllQueryResults()) + let + all = waitForAllQueryResults(tryGet(await ds.query(q))) + res = tryGet(await all) - # check: - # res.len == 3 - # res[0].key.get == key1 - # res[0].data.len == 0 + check: + res.len == 3 + res[0].key.get == key1 + res[0].data.len == 0 - # res[1].key.get == key2 - # res[1].data.len == 0 + res[1].key.get == key2 + res[1].data.len == 0 - # res[2].key.get == key3 - # res[2].data.len == 0 + res[2].key.get == key3 + res[2].data.len == 0 # test "Key should not query parent":