aboutsummaryrefslogtreecommitdiff
path: root/src/db/lib.rs
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-01-04 11:34:43 +0100
committerAlex Auvolat <alex@adnab.me>2023-01-04 11:34:43 +0100
commit570e5e5bbb7a3eac41350db9433e28ed289b97f4 (patch)
treea7fc299ba180098be5a3bef28a39256870ce697b /src/db/lib.rs
parent6e44369cbc810b8912ca0f7f5fd293e87f10c851 (diff)
parent4eb8ca3a528dae2848141f5cc3eb607eb7d40114 (diff)
downloadgarage-570e5e5bbb7a3eac41350db9433e28ed289b97f4.tar.gz
garage-570e5e5bbb7a3eac41350db9433e28ed289b97f4.zip
Merge branch 'main' into next
Diffstat (limited to 'src/db/lib.rs')
-rw-r--r--src/db/lib.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/db/lib.rs b/src/db/lib.rs
index 5304c195..22bd9364 100644
--- a/src/db/lib.rs
+++ b/src/db/lib.rs
@@ -178,6 +178,10 @@ impl Tree {
pub fn len(&self) -> Result<usize> {
self.0.len(self.1)
}
+ #[inline]
+ pub fn fast_len(&self) -> Result<Option<usize>> {
+ self.0.fast_len(self.1)
+ }
#[inline]
pub fn first(&self) -> Result<Option<(Value, Value)>> {
@@ -320,6 +324,9 @@ pub(crate) trait IDb: Send + Sync {
fn get(&self, tree: usize, key: &[u8]) -> Result<Option<Value>>;
fn len(&self, tree: usize) -> Result<usize>;
+ fn fast_len(&self, _tree: usize) -> Result<Option<usize>> {
+ Ok(None)
+ }
fn insert(&self, tree: usize, key: &[u8], value: &[u8]) -> Result<Option<Value>>;
fn remove(&self, tree: usize, key: &[u8]) -> Result<Option<Value>>;