Skip to content

Commit

Permalink
V1.0.0 archive (#63)
Browse files Browse the repository at this point in the history
* catch up fix

* add back deprecated API

Co-authored-by: Charlie Chen <[email protected]>
  • Loading branch information
simonjiao and ws4charlie committed Nov 24, 2022
1 parent 04a7c24 commit d737551
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
13 changes: 13 additions & 0 deletions storage/src/state/cache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,19 @@ impl SessionedCache {
self.delta.insert(key.to_owned(), None);
}

/// Remove key-pair (when NOT EXIST in db) from cache
///
/// Deprecated and replaced by `delete`
pub fn remove(&mut self, key: &[u8]) {
// exist in delta
if let Some(Some(_)) = self.delta.get(key) {
self.delta.remove(key);
} else if let Some(Some(_)) = self.base.get(key) {
// exist only in base
self.delta.insert(key.to_owned(), None);
}
}

/// commits pending KVs in session
pub fn commit(&mut self) -> KVBatch {
// Merge delta into the base version
Expand Down
12 changes: 12 additions & 0 deletions storage/src/state/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,18 @@ impl<D: MerkleDB> State<D> {
Ok(())
}

// Deprecated and replaced by `delete`
pub fn delete_v0(&mut self, key: &[u8]) -> Result<()> {
let cs = self.chain_state.read();
match cs.get(key).c(d!())? {
//Mark key as deleted
Some(_) => self.cache.delete(key),
//Remove key from cache
None => self.cache.remove(key),
}
Ok(())
}

/// Iterates the ChainState for the given range of keys
pub fn iterate(
&self,
Expand Down
10 changes: 10 additions & 0 deletions storage/src/store/traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,11 @@ where
fn delete(&mut self, key: &[u8]) -> Result<()> {
self.state_mut().delete(key)
}

/// deprecated and replaced by `delete`
fn delete_v0(&mut self, key: &[u8]) -> Result<()> {
self.state_mut().delete_v0(key)
}
}

/// A trait that implements the same functionality above without the requirement of owning a state
Expand Down Expand Up @@ -335,4 +340,9 @@ pub trait StatelessStore {
fn delete<D: MerkleDB>(state: &mut State<D>, key: &[u8]) -> Result<()> {
state.delete(key)
}

/// deprecated and replaced by `delete`
fn delete_v0<D: MerkleDB>(state: &mut State<D>, key: &[u8]) -> Result<()> {
state.delete_v0(key)
}
}

0 comments on commit d737551

Please sign in to comment.