aboutsummaryrefslogtreecommitdiff
path: root/database/src/backends/rocksdb.rs
diff options
context:
space:
mode:
Diffstat (limited to 'database/src/backends/rocksdb.rs')
-rw-r--r--database/src/backends/rocksdb.rs19
1 files changed, 6 insertions, 13 deletions
diff --git a/database/src/backends/rocksdb.rs b/database/src/backends/rocksdb.rs
index b62a482..1475dac 100644
--- a/database/src/backends/rocksdb.rs
+++ b/database/src/backends/rocksdb.rs
@@ -4,26 +4,19 @@
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::backends::{Db, ReadTransaction, WriteTransaction, WriteTxnFunction};
+use crate::backends::{Database, ReadTransaction, WriteTransaction, WriteTxnFunction};
use anyhow::Result;
use rocksdb::{Direction, ErrorKind, IteratorMode, OptimisticTransactionDB};
use std::path::Path;
-pub struct Rocksdb {
- db: OptimisticTransactionDB,
+pub fn new(path: &Path) -> Result<OptimisticTransactionDB> {
+ Ok(OptimisticTransactionDB::open_default(path)?)
}
-impl Rocksdb {
- pub fn new(path: &Path) -> Result<Self> {
- Ok(Self {
- db: OptimisticTransactionDB::open_default(path)?,
- })
- }
-}
-impl Db for Rocksdb {
+impl Database for OptimisticTransactionDB {
fn write_transaction(&self, f: &mut WriteTxnFunction) -> Result<()> {
loop {
- let mut txn = self.db.transaction();
+ let mut txn = self.transaction();
f(&mut txn)?;
match txn.commit() {
Ok(()) => break Ok(()),
@@ -34,7 +27,7 @@ impl Db for Rocksdb {
}
fn read_transaction(&self, f: &mut super::ReadTxnFunction) -> Result<()> {
loop {
- let txn = self.db.transaction();
+ let txn = self.transaction();
f(&txn)?;
match txn.commit() {
Ok(()) => break Ok(()),