New database trait (#5549)

* Introduce trait

* The trait

* Generic

* Basic impls.

* Remove unneeded bounds

* Minor changes

* Switch over to the new DB trait

* Integrated parity-db and added CLI for db selection

* Default impl.

* Fix logs.

* Started integrating subdb

* Apply suggestions from code review

Co-Authored-By: Cecile Tonglet <cecile@parity.io>

* Apply suggestions from code review

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* Enable subdb

* Bump parity-db

* Fixed CLI macro

* Fixed browser build

* Fixed features

* Sort out features

* Use parity-db from crates.io

* Typo

Co-authored-by: arkpar <arkady.paronyan@gmail.com>
Co-authored-by: Cecile Tonglet <cecile@parity.io>
Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
This commit is contained in:
Gavin Wood
2020-04-15 14:38:39 +02:00
committed by GitHub
parent 3426d662f7
commit 91af5b6fcc
43 changed files with 1036 additions and 579 deletions
+97
View File
@@ -1081,6 +1081,16 @@ dependencies = [
"dirs-sys",
]
[[package]]
name = "dirs"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
dependencies = [
"cfg-if",
"dirs-sys",
]
[[package]]
name = "dirs-sys"
version = "0.3.4"
@@ -4686,6 +4696,19 @@ dependencies = [
"sp-storage",
]
[[package]]
name = "parity-db"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4174d70be686b0d7cdee964b2d723e1461e28390c8804f01efc907d81043be9"
dependencies = [
"blake2-rfc",
"libc",
"log",
"memmap",
"parking_lot 0.10.2",
]
[[package]]
name = "parity-multiaddr"
version = "0.7.3"
@@ -5034,6 +5057,16 @@ dependencies = [
"output_vt100",
]
[[package]]
name = "pretty_env_logger"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d"
dependencies = [
"env_logger 0.7.1",
"log",
]
[[package]]
name = "primitive-types"
version = "0.7.0"
@@ -5900,6 +5933,7 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-core",
"sp-database 2.0.0-dev",
"sp-externalities",
"sp-inherents",
"sp-keyring",
@@ -5954,6 +5988,7 @@ dependencies = [
name = "sc-client-db"
version = "0.8.0-dev"
dependencies = [
"blake2-rfc",
"env_logger 0.7.1",
"hash-db",
"kvdb",
@@ -5961,6 +5996,7 @@ dependencies = [
"kvdb-rocksdb",
"linked-hash-map",
"log",
"parity-db",
"parity-scale-codec",
"parity-util-mem",
"parking_lot 0.10.2",
@@ -5972,10 +6008,12 @@ dependencies = [
"sp-blockchain",
"sp-consensus",
"sp-core",
"sp-database 2.0.0-dev",
"sp-keyring",
"sp-runtime",
"sp-state-machine",
"sp-trie",
"subdb",
"substrate-prometheus-endpoint",
"substrate-test-runtime-client",
"tempfile",
@@ -6995,6 +7033,17 @@ dependencies = [
"libc",
]
[[package]]
name = "simplelog"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcacac97349a890d437921dfb23cbec52ab5b4752551cb637df2721371acd467"
dependencies = [
"chrono",
"log",
"term",
]
[[package]]
name = "slab"
version = "0.4.2"
@@ -7375,6 +7424,23 @@ dependencies = [
"zeroize",
]
[[package]]
name = "sp-database"
version = "2.0.0-alpha.5"
source = "git+https://github.com/paritytech/substrate?branch=gav-db-trait#9404815700a840586fc8760a60180f4e1bf97ce4"
dependencies = [
"kvdb",
"parking_lot 0.10.2",
]
[[package]]
name = "sp-database"
version = "2.0.0-dev"
dependencies = [
"kvdb",
"parking_lot 0.10.2",
]
[[package]]
name = "sp-debug-derive"
version = "2.0.0-dev"
@@ -7855,6 +7921,26 @@ dependencies = [
"syn 1.0.17",
]
[[package]]
name = "subdb"
version = "0.1.0"
source = "git+https://github.com/paritytech/subdb#353bd49a95e618641b552fe890b272f0feb6d752"
dependencies = [
"blake2-rfc",
"derive_more",
"hash-db",
"hex",
"log",
"memmap",
"parity-scale-codec",
"parking_lot 0.10.2",
"pretty_env_logger",
"simplelog",
"smallvec 1.3.0",
"sp-database 2.0.0-alpha.5",
"twox-hash",
]
[[package]]
name = "subkey"
version = "2.0.0-dev"
@@ -7917,6 +8003,7 @@ dependencies = [
"sc-informant",
"sc-network",
"sc-service",
"sp-database 2.0.0-dev",
"wasm-bindgen",
"wasm-bindgen-futures",
]
@@ -8272,6 +8359,16 @@ dependencies = [
"winapi 0.3.8",
]
[[package]]
name = "term"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0863a3345e70f61d613eab32ee046ccd1bcc5f9105fe402c61fcd0c13eeb8b5"
dependencies = [
"dirs",
"winapi 0.3.8",
]
[[package]]
name = "termcolor"
version = "1.1.0"