enable sqllite threading tests

This commit is contained in:
Dmitriy Ryajov 2023-09-14 17:56:20 -06:00
parent f0038127c8
commit af310306ad
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4
2 changed files with 59 additions and 24 deletions

View File

@ -41,8 +41,8 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
res: seq[QueryResponse] res: seq[QueryResponse]
cnt = 0 cnt = 0
while not iter.finished: for pair in iter:
let (key, val) = (await iter.next()).tryGet let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
@ -75,13 +75,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -109,13 +113,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -143,13 +151,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
var var
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -184,9 +196,20 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = (await allFinished(toSeq(iter))) res = block:
.mapIt( it.read.tryGet ) var
.filterIt( it.key.isSome ) res: seq[QueryResponse]
cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone:
break
res.add((key, val))
cnt.inc
res
check: check:
res.len == 10 res.len == 10
@ -208,13 +231,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -238,13 +265,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -284,13 +315,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res

View File

@ -52,4 +52,4 @@ suite "Test Query ThreadDatastore":
(await ds.close()).tryGet() (await ds.close()).tryGet()
taskPool.shutdown() taskPool.shutdown()
queryTests(ds, false) queryTests(ds, true)