move rocksdb to nimbus-eth1 (#460)

sqlite ftw!
This commit is contained in:
Jacek Sieka 2022-04-04 13:46:57 +02:00 committed by GitHub
parent eb785207ae
commit 41b8588ade
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 0 additions and 78 deletions

View File

@ -22,12 +22,6 @@ Ethereum-related utilities written in Nim. Includes things like Bloom filters, p
## Prerequisites ## Prerequisites
- Nim & Nimble - Nim & Nimble
- RocksDB, SQLite, LMDB (required for the trie backend tests)
E.g. on Ubuntu one can run:
```
apt install -y librocksdb-dev liblmdb-dev sqlite3
```
## Building & Testing ## Building & Testing
``` ```

View File

@ -8,7 +8,6 @@ requires "nim >= 1.2.0",
"nimcrypto", "nimcrypto",
"stint", "stint",
"secp256k1", "secp256k1",
"rocksdb",
"chronos", "chronos",
"chronicles", "chronicles",
"stew", "stew",

View File

@ -1,52 +0,0 @@
{.push raises: [Defect].}
import
std/os,
rocksdb, stew/results,
./kvstore
export results
const maxOpenFiles = 512
type
RocksStoreRef* = ref object of RootObj
store: RocksDBInstance
proc get*(db: RocksStoreRef, key: openArray[byte], onData: kvstore.DataProc): KvResult[bool] =
db.store.get(key, onData)
proc find*(db: RocksStoreRef, prefix: openArray[byte], onFind: kvstore.KeyValueProc): KvResult[int] =
raiseAssert "Unimplemented"
proc put*(db: RocksStoreRef, key, value: openArray[byte]): KvResult[void] =
db.store.put(key, value)
proc contains*(db: RocksStoreRef, key: openArray[byte]): KvResult[bool] =
db.store.contains(key)
proc del*(db: RocksStoreRef, key: openArray[byte]): KvResult[void] =
db.store.del(key)
proc close*(db: RocksStoreRef) =
db.store.close
proc init*(
T: type RocksStoreRef, basePath: string, name: string,
readOnly = false): KvResult[T] =
let
dataDir = basePath / name / "data"
backupsDir = basePath / name / "backups"
try:
createDir(dataDir)
createDir(backupsDir)
except OSError, IOError:
return err("rocksdb: cannot create database directory")
var store: RocksDBInstance
if (let v = store.init(
dataDir, backupsDir, readOnly, maxOpenFiles = maxOpenFiles); v.isErr):
return err(v.error)
ok(T(store: store))

View File

@ -1,4 +1,3 @@
import import
./test_kvstore_rocksdb,
./test_kvstore_sqlite3, ./test_kvstore_sqlite3,
./test_kvstore ./test_kvstore

View File

@ -1,18 +0,0 @@
{.used.}
import
std/os,
unittest2,
chronicles,
../../eth/db/[kvstore, kvstore_rocksdb],
./test_kvstore
suite "RocksStoreRef":
test "KvStore interface":
let tmp = getTempDir() / "nimbus-test-db"
removeDir(tmp)
let db = RocksStoreRef.init(tmp, "test")[]
defer: db.close()
testKvStore(kvStore db, false)