query fixes

This commit is contained in:
Jaremy Creechley 2023-09-25 19:14:10 -07:00
parent 1f23fe57d3
commit 62c9e7c583
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300
3 changed files with 14 additions and 9 deletions

View File

@ -13,6 +13,11 @@ export databuffer, threadresult, semaphore, types
export upraises, results, SortOrder
type
DbSortOrder* {.pure.} = enum
Ascending,
Descending
KeyId* = object
## serialized Key ID, equivalent to `key.id()`
data*: DataBuffer
@ -27,7 +32,7 @@ type
value*: bool # Flag to indicate if data should be returned
limit*: int # Max items to return - not available in all backends
offset*: int # Offset from which to start querying - not available in all backends
sort*: SortOrder # Sort order - not available in all backends
sort*: DbSortOrder # Sort order - not available in all backends
DbQueryHandle*[K, V, T] = object
query*: DbQuery[K]

View File

@ -114,7 +114,7 @@ proc query*[K,V](
else:
QueryStmtIdStr
if query.sort == SortOrder.Descending:
if query.sort == DbSortOrder.Descending:
queryStr &= QueryStmtOrderDescending
else:
queryStr &= QueryStmtOrderAscending

View File

@ -135,7 +135,7 @@ suite "queryTests":
var
handle = ds.query(q).tryGet
res = handle.iter().toSeq().mapIt(it.tryGet()).reversed()
res = handle.iter().toSeq().mapIt(it.tryGet())
check:
res.len == 3
@ -175,8 +175,8 @@ suite "queryTests":
res[0].key.get == key2
res[0].data == val2
res[1].key.get == key3
res[1].data == val3
res[1].key.get == key1
res[1].data == val1
test "Key should query all keys without values":
let
@ -189,7 +189,7 @@ suite "queryTests":
var
handle = ds.query(q).tryGet
let
res = handle.iter().toSeq().mapIt(it.tryGet()).reversed()
res = handle.iter().toSeq().mapIt(it.tryGet())
check:
res.len == 3
@ -214,7 +214,7 @@ suite "queryTests":
var
handle = ds.query(q).tryGet
let
res = handle.iter().toSeq().mapIt(it.tryGet()).reversed()
res = handle.iter().toSeq().mapIt(it.tryGet())
check:
res.len == 2
@ -235,7 +235,7 @@ suite "queryTests":
var
handle = ds.query(q).tryGet
res = handle.iter().toSeq().mapIt(it.tryGet()).reversed()
res = handle.iter().toSeq().mapIt(it.tryGet())
res.sort do (a, b: DbQueryResponse[KeyId, DataBuffer]) -> int:
cmp($a.key.get, $b.key.get)
@ -266,7 +266,7 @@ suite "queryTests":
var
handle = ds.query(q).tryGet
let
res = handle.iter().toSeq().mapIt(it.tryGet()).reversed()
res = handle.iter().toSeq().mapIt(it.tryGet())
echo "RES: ", res.mapIt(it.key)
check: