mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-13 15:05:50 +00:00
Introduce prefixed storage with enumeration (#4185)
* Introduce storage_next allowing iteration. (without childtries) * Implement prefixed storage * impl cache in client_storage_cache (needs test) * switch overlay change to btreemap * Revert "impl cache in client_storage_cache" This reverts commit c91a4848916eba87184b3dc4722cea81aec9339d. the storage cache cannot be used this way * Revert "Implement prefixed storage" This reverts commit 4931088126a427082d7310ed7e83b8eea966bc20. * Impl StoragePrefixedMap for all map storages * remove comment * Move all overlays to BTreeMap * btreemap iteration improvment * impl for child tries * impl tests for childs * fix * remove cache comment * Fix grumble
This commit is contained in:
committed by
Bastian Köcher
parent
fb1eb9d9e4
commit
e5b6935c2a
@@ -213,6 +213,17 @@ pub trait Storage {
|
||||
fn changes_root(&mut self, parent_hash: &[u8]) -> Option<Vec<u8>> {
|
||||
self.storage_changes_root(parent_hash).ok().and_then(|h| h)
|
||||
}
|
||||
|
||||
/// Get the next key in storage after the given one in lexicographic order.
|
||||
fn next_key(&mut self, key: &[u8]) -> Option<Vec<u8>> {
|
||||
self.next_storage_key(&key)
|
||||
}
|
||||
|
||||
/// Get the next key in storage after the given one in lexicographic order in child storage.
|
||||
fn child_next_key(&mut self, child_storage_key: &[u8], key: &[u8]) -> Option<Vec<u8>> {
|
||||
let storage_key = child_storage_key_or_panic(child_storage_key);
|
||||
self.next_child_storage_key(storage_key, key)
|
||||
}
|
||||
}
|
||||
|
||||
/// Interface that provides trie related functionality.
|
||||
|
||||
Reference in New Issue
Block a user