From 9853db78235141b669c4fa4859325e35977e7a39 Mon Sep 17 00:00:00 2001 From: Niko Date: Sun, 28 Aug 2022 23:28:35 +0300 Subject: [PATCH] adding version function to environment --- .gitignore | 1 + src/backend/impl_lmdb/environment.rs | 4 ++++ src/backend/impl_safe/environment.rs | 5 +++++ src/backend/traits.rs | 2 ++ src/env.rs | 4 ++++ 5 files changed, 16 insertions(+) diff --git a/.gitignore b/.gitignore index 4308d82..e347fa3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.DS_Store target/ **/*.rs.bk Cargo.lock diff --git a/src/backend/impl_lmdb/environment.rs b/src/backend/impl_lmdb/environment.rs index e528fad..590e2c2 100644 --- a/src/backend/impl_lmdb/environment.rs +++ b/src/backend/impl_lmdb/environment.rs @@ -218,6 +218,10 @@ impl<'e> BackendEnvironment<'e> for EnvironmentImpl { .map_err(ErrorImpl::LmdbError) } + fn version(&self) -> &str { + self.lmdbenv.version() + } + fn begin_ro_txn(&'e self) -> Result { self.lmdbenv .begin_ro_txn() diff --git a/src/backend/impl_safe/environment.rs b/src/backend/impl_safe/environment.rs index 6ae834b..edfeb09 100644 --- a/src/backend/impl_safe/environment.rs +++ b/src/backend/impl_safe/environment.rs @@ -323,4 +323,9 @@ impl<'e> BackendEnvironment<'e> for EnvironmentImpl { db_filename.push(DEFAULT_DB_FILENAME); vec![db_filename] } + + fn version(&self) -> &str { + let ret: &str = "unknown"; + ret + } } diff --git a/src/backend/traits.rs b/src/backend/traits.rs index 1dda15a..e034b6f 100644 --- a/src/backend/traits.rs +++ b/src/backend/traits.rs @@ -117,6 +117,8 @@ pub trait BackendEnvironment<'e>: Debug { fn info(&self) -> Result; + fn version(&self) -> &str; + fn freelist(&self) -> Result; fn load_ratio(&self) -> Result, Self::Error>; diff --git a/src/env.rs b/src/env.rs index 32e4fe5..c1e74da 100644 --- a/src/env.rs +++ b/src/env.rs @@ -272,6 +272,10 @@ where self.env.info().map_err(|e| e.into()) } + pub fn version(&self) -> &str { + self.env.version() + } + /// Retrieve the load ratio (# of used pages / total pages) about this environment. /// /// With the formular: (last_page_no - freelist_pages) / total_pages.