diff --git a/Cargo.lock b/Cargo.lock index daabefee1..cb09ba558 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1602,7 +1602,7 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "6.1.3" +version = "6.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bindgen 0.49.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2672,11 +2672,11 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "librocksdb-sys 6.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "librocksdb-sys 6.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3569,7 +3569,7 @@ dependencies = [ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rocksdb 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rocksdb 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5585,7 +5585,7 @@ dependencies = [ "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" "checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8" "checksum libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" -"checksum librocksdb-sys 6.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c4eb0cf7e0b5030e5db893882f1f77d8d7d10f815283aa7e800a3cfbfd4b20c5" +"checksum librocksdb-sys 6.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0785e816e1e11e7599388a492c61ef80ddc2afc91e313e61662cce537809be" "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" "checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" @@ -5702,7 +5702,7 @@ dependencies = [ "checksum reqwest 0.9.22 (registry+https://github.com/rust-lang/crates.io-index)" = "2c2064233e442ce85c77231ebd67d9eca395207dec2127fe0bbedde4bd29a650" "checksum rgb 0.8.13 (registry+https://github.com/rust-lang/crates.io-index)" = "4f089652ca87f5a82a62935ec6172a534066c7b97be003cc8f702ee9a7a59c92" "checksum ring 0.16.7 (registry+https://github.com/rust-lang/crates.io-index)" = "796ae8317a07b04dffb1983bdc7045ccd02f741f0b411704f07fd35dbf99f757" -"checksum rocksdb 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d65bee9fe606c76fd90d6cc33b86bdafde0981b8a6b2d190ec1267e0d065baf8" +"checksum rocksdb 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "12069b106981c6103d3eab7dd1c86751482d0779a520b7c14954c8b586c1e643" "checksum rpassword 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f072d931f11a96546efd97642e1e75e807345aced86b947f9239102f262d0fcd" "checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" diff --git a/ledger/Cargo.toml b/ledger/Cargo.toml index 1bb5c9e9f..820f8c63a 100644 --- a/ledger/Cargo.toml +++ b/ledger/Cargo.toml @@ -47,7 +47,7 @@ tempfile = "3.1.0" [dependencies.rocksdb] # Avoid the vendored bzip2 within rocksdb-sys that can cause linker conflicts # when also using the bzip2 crate -version = "0.12.4" +version = "0.13.0" default-features = false features = ["lz4"] diff --git a/ledger/src/blocktree_db.rs b/ledger/src/blocktree_db.rs index 730934e40..ada3b530e 100644 --- a/ledger/src/blocktree_db.rs +++ b/ledger/src/blocktree_db.rs @@ -181,25 +181,25 @@ impl Rocks { Ok(()) } - fn cf_handle(&self, cf: &str) -> ColumnFamily { + fn cf_handle(&self, cf: &str) -> &ColumnFamily { self.0 .cf_handle(cf) .expect("should never get an unknown column") } - fn get_cf(&self, cf: ColumnFamily, key: &[u8]) -> Result>> { + fn get_cf(&self, cf: &ColumnFamily, key: &[u8]) -> Result>> { let opt = self.0.get_cf(cf, key)?.map(|db_vec| db_vec.to_vec()); Ok(opt) } - fn put_cf(&self, cf: ColumnFamily, key: &[u8], value: &[u8]) -> Result<()> { + fn put_cf(&self, cf: &ColumnFamily, key: &[u8], value: &[u8]) -> Result<()> { self.0.put_cf(cf, key, value)?; Ok(()) } fn iterator_cf( &self, - cf: ColumnFamily, + cf: &ColumnFamily, iterator_mode: IteratorMode, ) -> Result where @@ -218,7 +218,7 @@ impl Rocks { Ok(iter) } - fn raw_iterator_cf(&self, cf: ColumnFamily) -> Result { + fn raw_iterator_cf(&self, cf: &ColumnFamily) -> Result { let raw_iter = self.0.raw_iterator_cf(cf)?; Ok(raw_iter) @@ -477,7 +477,7 @@ where pub struct WriteBatch<'a> { write_batch: RWriteBatch, - map: HashMap<&'static str, ColumnFamily<'a>>, + map: HashMap<&'static str, &'a ColumnFamily>, } impl Database { @@ -519,7 +519,7 @@ impl Database { } #[inline] - pub fn cf_handle(&self) -> ColumnFamily + pub fn cf_handle(&self) -> &ColumnFamily where C: Column, { @@ -537,7 +537,7 @@ impl Database { } #[inline] - pub fn raw_iterator_cf(&self, cf: ColumnFamily) -> Result { + pub fn raw_iterator_cf(&self, cf: &ColumnFamily) -> Result { self.backend.raw_iterator_cf(cf) } @@ -610,7 +610,7 @@ where } #[inline] - pub fn handle(&self) -> ColumnFamily { + pub fn handle(&self) -> &ColumnFamily { self.backend.cf_handle(C::NAME) } @@ -669,7 +669,7 @@ impl<'a> WriteBatch<'a> { } #[inline] - fn get_cf(&self) -> ColumnFamily<'a> { + fn get_cf(&self) -> &'a ColumnFamily { self.map[C::NAME] } }