From d0ee284d9092c04cca4caa26d3d385ee9ffbc649 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Tue, 26 Sep 2023 17:32:10 -0700 Subject: [PATCH] result types --- datastore/threads/threadproxyds.nim | 7 +++--- tests/datastore/testthreadproxyds.nim | 34 +++++++++++++-------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/datastore/threads/threadproxyds.nim b/datastore/threads/threadproxyds.nim index 695af78..bcf0680 100644 --- a/datastore/threads/threadproxyds.nim +++ b/datastore/threads/threadproxyds.nim @@ -162,6 +162,7 @@ proc deleteTask[T, DB](ctx: TaskCtx[T], ds: DB; method delete*(self: ThreadDatastore, key: Key): Future[?!void] {.async.} = + ## delete key await self.semaphore.acquire() without signal =? acquireSignal(), err: return failure err @@ -174,7 +175,7 @@ method delete*(self: ThreadDatastore, method delete*(self: ThreadDatastore, keys: seq[Key]): Future[?!void] {.async.} = - + ## delete batch for key in keys: if err =? (await self.delete(key)).errorOption: return failure err @@ -185,13 +186,13 @@ method delete*(self: ThreadDatastore, proc putTask[T, DB](ctx: TaskCtx[T], ds: DB; key: KeyId, data: DataBuffer) {.gcsafe, nimcall.} = - ## run backend command executeTask(ctx): put(ds, key, data) method put*(self: ThreadDatastore, key: Key, data: seq[byte]): Future[?!void] {.async.} = + ## put key with data await self.semaphore.acquire() without signal =? acquireSignal(), err: return failure err @@ -206,7 +207,7 @@ method put*(self: ThreadDatastore, method put*( self: ThreadDatastore, batch: seq[BatchEntry]): Future[?!void] {.async.} = - + ## put batch data for entry in batch: if err =? (await self.put(entry.key, entry.data)).errorOption: return failure err diff --git a/tests/datastore/testthreadproxyds.nim b/tests/datastore/testthreadproxyds.nim index 1a2c663..cfef8e6 100644 --- a/tests/datastore/testthreadproxyds.nim +++ b/tests/datastore/testthreadproxyds.nim @@ -82,28 +82,28 @@ suite "Test Basic ThreadDatastore with SQLite": basicStoreTests(ds, key, bytes, otherBytes) -# suite "Test Query ThreadDatastore with SQLite": +suite "Test Query ThreadDatastore with SQLite": -# var -# sqlStore: SQLiteBackend[KeyId,DataBuffer] -# ds: ThreadDatastore -# taskPool: Taskpool -# key = Key.init("/a/b").tryGet() -# bytes = "some bytes".toBytes -# otherBytes = "some other bytes".toBytes + var + sqlStore: SQLiteBackend[KeyId,DataBuffer] + ds: ThreadDatastore + taskPool: Taskpool + key = Key.init("/a/b").tryGet() + bytes = "some bytes".toBytes + otherBytes = "some other bytes".toBytes -# setup: -# sqlStore = newSQLiteBackend[KeyId, DataBuffer](Memory).tryGet() -# taskPool = Taskpool.new(NumThreads) -# ds = ThreadDatastore.new(sqlStore, tp = taskPool).tryGet() + setup: + sqlStore = newSQLiteBackend[KeyId, DataBuffer](Memory).tryGet() + taskPool = Taskpool.new(NumThreads) + ds = ThreadDatastore.new(sqlStore, tp = taskPool).tryGet() -# teardown: -# GC_fullCollect() + teardown: + GC_fullCollect() -# (await ds.close()).tryGet() -# taskPool.shutdown() + (await ds.close()).tryGet() + taskPool.shutdown() -# queryTests(ds, true) + queryTests(ds, true) # suite "Test Basic ThreadDatastore with fsds": # let