diff --git a/datastore/backend.nim b/datastore/backend.nim index 8987720..b5135f7 100644 --- a/datastore/backend.nim +++ b/datastore/backend.nim @@ -20,7 +20,7 @@ type DbKey* = string | KeyId DbVal* = seq[byte] | DataBuffer - DbBatchEntry* = tuple[key: string, data: seq[byte]] | tuple[key: KeyId, data: DataBuffer] + DbBatchEntry* = tuple[key: string, data: seq[byte]] | tuple[key: KeyId, data: DataBuffer] DbQuery* = object key*: KeyId # Key to be queried diff --git a/datastore/sql/sqliteds.nim b/datastore/sql/sqliteds.nim index a823485..f9d486c 100644 --- a/datastore/sql/sqliteds.nim +++ b/datastore/sql/sqliteds.nim @@ -40,7 +40,7 @@ proc has*(self: SQLiteDatastore, key: DbKey): ?!bool = return success exists proc delete*(self: SQLiteDatastore, key: DbKey): ?!void = - return self.db.deleteStmt.exec((key.data)) + return self.db.deleteStmt.exec((key)) proc delete*(self: SQLiteDatastore, keys: openArray[DbKey]): ?!void = if err =? self.db.beginStmt.exec().errorOption: @@ -91,7 +91,7 @@ proc put*(self: SQLiteDatastore, batch: openArray[DbBatchEntry]): ?!void = return failure err for entry in batch: - if err =? self.db.putStmt.exec((entry.key.id, entry.data, timestamp())).errorOption: + if err =? self.db.putStmt.exec((entry.key, entry.data, timestamp())).errorOption: if err =? self.db.rollbackStmt.exec().errorOption: return failure err @@ -202,7 +202,7 @@ proc query*(self: SQLiteDatastore, proc contains*(self: SQLiteDatastore, key: DbKey): bool = - return self.has(key) + return self.has(key).get() proc new*(T: type SQLiteDatastore, diff --git a/tests/datastore/sql/testsqliteds.nim b/tests/datastore/sql/testsqliteds.nim index 6e4b585..fff7354 100644 --- a/tests/datastore/sql/testsqliteds.nim +++ b/tests/datastore/sql/testsqliteds.nim @@ -18,7 +18,8 @@ suite "Test Basic SQLiteDatastore": let ds = SQLiteDatastore.new(Memory).tryGet() - key = Key.init("a:b/c/d:e").tryGet().id() + keyFull = Key.init("a:b/c/d:e").tryGet() + key = keyFull.id() bytes = "some bytes".toBytes otherBytes = "some other bytes".toBytes @@ -43,15 +44,15 @@ suite "Test Basic SQLiteDatastore": ds.delete(key).tryGet() test "contains": - check: - not await (key in ds) + check key notin ds test "put batch": var - batch: seq[BatchEntry] + batch: seq[tuple[key: string, data: seq[byte]]] for k in 0..<100: - batch.add((Key.init(key.id, $k).tryGet, @[k.byte])) + let kk = Key.init(key, $k).tryGet().id() + batch.add((kk, @[k.byte])) ds.put(batch).tryGet @@ -63,7 +64,7 @@ suite "Test Basic SQLiteDatastore": batch: seq[Key] for k in 0..<100: - batch.add(Key.init(key.id, $k).tryGet) + batch.add(Key.init(key, $k).tryGet) ds.delete(batch).tryGet