diff --git a/CHANGELOG.md b/CHANGELOG.md index 7eaf9bffd..97fac2669 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,7 @@ To decouple the `Wallet` from the `Blockchain` we've made major changes: - Stop making a request for the block height when calling `Wallet:new`. - Added `SyncOptions` to capture extra (future) arguments to `Wallet::sync`. - Removed `max_addresses` sync parameter which determined how many addresses to cache before syncing since this can just be done with `ensure_addresses_cached`. +- remove `flush` method from the `Database` trait. ## [v0.16.1] - [v0.16.0] diff --git a/src/database/any.rs b/src/database/any.rs index b370ded99..bbd9d41a5 100644 --- a/src/database/any.rs +++ b/src/database/any.rs @@ -255,10 +255,6 @@ impl Database for AnyDatabase { fn increment_last_index(&mut self, keychain: KeychainKind) -> Result { impl_inner_method!(AnyDatabase, self, increment_last_index, keychain) } - - fn flush(&mut self) -> Result<(), Error> { - impl_inner_method!(AnyDatabase, self, flush) - } } impl BatchOperations for AnyBatch { diff --git a/src/database/keyvalue.rs b/src/database/keyvalue.rs index 5baa6c86a..e10ada1fa 100644 --- a/src/database/keyvalue.rs +++ b/src/database/keyvalue.rs @@ -166,16 +166,9 @@ macro_rules! impl_batch_operations { fn del_last_index(&mut self, keychain: KeychainKind) -> Result, Error> { let key = MapKey::LastIndex(keychain).as_map_key(); let res = self.remove(key); - let res = $process_delete!(res); - - match res { - None => Ok(None), - Some(b) => { - let array: [u8; 4] = b.as_ref().try_into().map_err(|_| Error::InvalidU32Bytes(b.to_vec()))?; - let val = u32::from_be_bytes(array); - Ok(Some(val)) - } - } + $process_delete!(res) + .map(ivec_to_u32) + .transpose() } fn del_sync_time(&mut self) -> Result, Error> { @@ -357,16 +350,7 @@ impl Database for Tree { fn get_last_index(&self, keychain: KeychainKind) -> Result, Error> { let key = MapKey::LastIndex(keychain).as_map_key(); - self.get(key)? - .map(|b| -> Result<_, Error> { - let array: [u8; 4] = b - .as_ref() - .try_into() - .map_err(|_| Error::InvalidU32Bytes(b.to_vec()))?; - let val = u32::from_be_bytes(array); - Ok(val) - }) - .transpose() + self.get(key)?.map(ivec_to_u32).transpose() } fn get_sync_time(&self) -> Result, Error> { @@ -393,19 +377,17 @@ impl Database for Tree { Some(new.to_be_bytes().to_vec()) })? - .map_or(Ok(0), |b| -> Result<_, Error> { - let array: [u8; 4] = b - .as_ref() - .try_into() - .map_err(|_| Error::InvalidU32Bytes(b.to_vec()))?; - let val = u32::from_be_bytes(array); - Ok(val) - }) + .map_or(Ok(0), ivec_to_u32) } +} - fn flush(&mut self) -> Result<(), Error> { - Ok(Tree::flush(self).map(|_| ())?) - } +fn ivec_to_u32(b: sled::IVec) -> Result { + let array: [u8; 4] = b + .as_ref() + .try_into() + .map_err(|_| Error::InvalidU32Bytes(b.to_vec()))?; + let val = u32::from_be_bytes(array); + Ok(val) } impl BatchDatabase for Tree { diff --git a/src/database/memory.rs b/src/database/memory.rs index 1c8d1ccac..4256d2171 100644 --- a/src/database/memory.rs +++ b/src/database/memory.rs @@ -449,10 +449,6 @@ impl Database for MemoryDatabase { Ok(*value) } - - fn flush(&mut self) -> Result<(), Error> { - Ok(()) - } } impl BatchDatabase for MemoryDatabase { diff --git a/src/database/mod.rs b/src/database/mod.rs index 80e5a2a58..c7ff17951 100644 --- a/src/database/mod.rs +++ b/src/database/mod.rs @@ -158,13 +158,6 @@ pub trait Database: BatchOperations { /// /// It should insert and return `0` if not present in the database fn increment_last_index(&mut self, keychain: KeychainKind) -> Result; - - #[deprecated( - since = "0.18.0", - note = "The flush function is only needed for the sled database on mobile, instead for mobile use the sqlite database." - )] - /// Force changes to be written to disk - fn flush(&mut self) -> Result<(), Error>; } /// Trait for a database that supports batch operations diff --git a/src/database/sqlite.rs b/src/database/sqlite.rs index fbdf1ad6d..06ed7e43c 100644 --- a/src/database/sqlite.rs +++ b/src/database/sqlite.rs @@ -891,10 +891,6 @@ impl Database for SqliteDatabase { } } } - - fn flush(&mut self) -> Result<(), Error> { - Ok(()) - } } impl BatchDatabase for SqliteDatabase {