diff --git a/datastore.nimble b/datastore.nimble index 56e5897..f6881fd 100644 --- a/datastore.nimble +++ b/datastore.nimble @@ -11,7 +11,7 @@ requires "nim >= 1.2.0", "chronos#c41599a", # FIXME change to Chronos >= 4.0.0 once it's out "questionable >= 0.10.3 & < 0.11.0", "sqlite3_abi", - "https://github.com/codex-storage/nim-leveldb#f825f0d", + "leveldbstatic >= 0.1.0", "stew", "unittest2", "upraises >= 0.1.0 & < 0.2.0" diff --git a/datastore/leveldb/leveldbds.nim b/datastore/leveldb/leveldbds.nim index 09147fa..481fad2 100644 --- a/datastore/leveldb/leveldbds.nim +++ b/datastore/leveldb/leveldbds.nim @@ -3,8 +3,7 @@ import std/tables import std/os import std/strformat -import pkg/leveldb -import pkg/chronicles +import pkg/leveldbstatic import pkg/chronos import pkg/questionable import pkg/questionable/results @@ -16,9 +15,6 @@ import ../datastore/defaultimpl push: {.upraises: [].} -logScope: - topics = "LevelDB" - type LevelDbDatastore* = ref object of Datastore db: LevelDb @@ -47,14 +43,13 @@ method delete*(self: LevelDbDatastore, key: Key): Future[?!void] {.async, locks: except LevelDbException as e: return failure("LevelDbDatastore.delete exception: " & e.msg) -method delete*(self: Datastore, keys: seq[Key]): Future[?!void] {.async, locks: "unknown".} = +method delete*(self: LevelDbDatastore, keys: seq[Key]): Future[?!void] {.async, locks: "unknown".} = for key in keys: if err =? (await self.delete(key)).errorOption: return failure(err.msg) return success() method get*(self: LevelDbDatastore, key: Key): Future[?!seq[byte]] {.async, locks: "unknown".} = - trace "Get", key try: let str = self.db.get($key) if not str.isSome: @@ -65,7 +60,6 @@ method get*(self: LevelDbDatastore, key: Key): Future[?!seq[byte]] {.async, lock return failure("LevelDbDatastore.get exception: " & $e.msg) method put*(self: LevelDbDatastore, key: Key, data: seq[byte]): Future[?!void] {.async, locks: "unknown".} = - trace "Put", key try: let str = toString(data) self.db.put($key, str) @@ -166,9 +160,7 @@ method modify*( proc new*( T: type LevelDbDatastore, dbName: string): ?!T = try: - trace "Opening LevelDB", dbName - - let db = leveldb.open(dbName) + let db = leveldbstatic.open(dbName) success T( db: db, diff --git a/tests/datastore/leveldb/testleveldbds.nim b/tests/datastore/leveldb/testleveldbds.nim index 3083e4c..e47af04 100644 --- a/tests/datastore/leveldb/testleveldbds.nim +++ b/tests/datastore/leveldb/testleveldbds.nim @@ -8,16 +8,18 @@ import pkg/chronos import pkg/stew/results import pkg/stew/byteutils -import pkg/datastore/sql/sqliteds +import pkg/datastore +import pkg/datastore/key +import pkg/datastore/leveldb/leveldbds import ../dscommontests import ../modifycommontests import ../querycommontests -suite "Test Basic LevelDBDatastore": +suite "Test Basic LevelDbDatastore": let tempDir = getTempDir() / "testleveldbds" - ds = LevelDBDatastore.new(tempDir).tryGet() + ds = LevelDbDatastore.new(tempDir).tryGet() key = Key.init("a:b/c/d:e").tryGet() bytes = "some bytes".toBytes otherBytes = "some other bytes".toBytes @@ -34,7 +36,7 @@ suite "Test Basic LevelDBDatastore": suite "Test LevelDB Query": let tempDir = getTempDir() / "testleveldbds" - var ds: LevelDBDatastore + var ds: LevelDbDatastore setupAll: createdir(tempDir) @@ -43,7 +45,7 @@ suite "Test LevelDB Query": removeDir(tempDir) setup: - ds = LevelDBDatastore.new(tempDir).tryGet() + ds = LevelDbDatastore.new(tempDir).tryGet() teardown: (await ds.close()).tryGet