From 357ab44b90880a3b82d25404cde4c439f78f04ce Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Wed, 20 Sep 2023 21:21:15 -0700 Subject: [PATCH] refactoring to non-async --- datastore/sql/sqliteds.nim | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/datastore/sql/sqliteds.nim b/datastore/sql/sqliteds.nim index b8d7a88..b2f6fc3 100644 --- a/datastore/sql/sqliteds.nim +++ b/datastore/sql/sqliteds.nim @@ -42,7 +42,7 @@ proc has*(self: SQLiteDatastore, key: DbKey): ?!bool = proc delete*(self: SQLiteDatastore, key: DbKey): ?!void = return self.db.deleteStmt.exec((key.data)) -proc delete*(self: SQLiteDatastore, keys: seq[DbKey]): ?!void = +proc delete*(self: SQLiteDatastore, keys: openArray[DbKey]): ?!void = if err =? self.db.beginStmt.exec().errorOption: return failure(err) @@ -78,10 +78,15 @@ proc get*(self: SQLiteDatastore, key: DbKey): ?!seq[byte] = return success bytes -proc put*(self: SQLiteDatastore, key: DbKey, data: seq[byte]): ?!void = - return self.db.putStmt.exec((key.id, data, timestamp())) +proc put*(self: SQLiteDatastore, key: DbKey, data: DbVal): ?!void = + when DbVal is seq[byte]: + return self.db.putStmt.exec((key.id, data, timestamp())) + elif DbVal is DataBuffer: + return self.db.putBufferStmt.exec((key.id, data, timestamp())) + else: + {.error: "unknown type".} -proc put*(self: SQLiteDatastore, batch: iterator (): DbBatchEntry): ?!void = +proc put*(self: SQLiteDatastore, batch: openArray[DbBatchEntry]): ?!void = if err =? self.db.beginStmt.exec().errorOption: return failure err @@ -102,7 +107,6 @@ proc close*(self: SQLiteDatastore): ?!void = return success() - proc query*(self: SQLiteDatastore, query: DbQuery ): Result[iterator(): ?!DbQueryResponse {.closure.}, ref CatchableError] = @@ -186,7 +190,7 @@ proc query*(self: SQLiteDatastore, return success (key.some, data) of SQLITE_DONE: - return success (KeyId.none, DataBuffer.new(0)) + return else: return failure newException(DatastoreError, $sqlite3_errstr(v))