aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-06-07 18:06:30 +0200
committerAlex Auvolat <alex@adnab.me>2022-06-07 18:06:30 +0200
commitd41a67c4eea3dbb1e40e5eb0fcee28dd916c8f29 (patch)
tree62f0cc66c505f1db589600a6ea4e6792a2b4a61b /src
parentdaec7995c33e9d8213dec1f6256855737a83fd0c (diff)
downloadgarage-d41a67c4eea3dbb1e40e5eb0fcee28dd916c8f29.tar.gz
garage-d41a67c4eea3dbb1e40e5eb0fcee28dd916c8f29.zip
simplify & fix db tests
Diffstat (limited to 'src')
-rw-r--r--src/db/lib.rs3
-rw-r--r--src/db/lmdb_adapter.rs8
2 files changed, 6 insertions, 5 deletions
diff --git a/src/db/lib.rs b/src/db/lib.rs
index d4b5c519..9fae7cc9 100644
--- a/src/db/lib.rs
+++ b/src/db/lib.rs
@@ -35,10 +35,11 @@ pub struct Error(pub Cow<'static, str>);
pub type Result<T> = std::result::Result<T, Error>;
+#[derive(Debug, Error)]
+#[error(display = "{}", _0)]
pub struct TxOpError(pub(crate) Error);
pub type TxOpResult<T> = std::result::Result<T, TxOpError>;
-#[derive(Debug)]
pub enum TxError<E> {
Abort(E),
Db(Error),
diff --git a/src/db/lmdb_adapter.rs b/src/db/lmdb_adapter.rs
index b82add75..23b8c87e 100644
--- a/src/db/lmdb_adapter.rs
+++ b/src/db/lmdb_adapter.rs
@@ -203,12 +203,12 @@ impl IDb for LmdbDb {
// ----
-struct LmdbTx<'a, 'db> {
- trees: &'db [Database],
+struct LmdbTx<'a> {
+ trees: &'a [Database],
tx: RwTxn<'a, 'a>,
}
-impl<'a, 'db> LmdbTx<'a, 'db> {
+impl<'a> LmdbTx<'a> {
fn get_tree(&self, i: usize) -> TxOpResult<&Database> {
self.trees.get(i).ok_or_else(|| {
TxOpError(Error(
@@ -218,7 +218,7 @@ impl<'a, 'db> LmdbTx<'a, 'db> {
}
}
-impl<'a, 'db> ITx for LmdbTx<'a, 'db> {
+impl<'a> ITx for LmdbTx<'a> {
fn get(&self, tree: usize, key: &[u8]) -> TxOpResult<Option<Value>> {
let tree = self.get_tree(tree)?;
match tree.get(&self.tx, key)? {