From f9977ca64f84768c0a71535f6038f4a6487ddc17 Mon Sep 17 00:00:00 2001
From: Tglman <tglman@tglman.com>
Date: Thu, 13 Jan 2022 22:37:19 +0000
Subject: [PATCH] fix: changes to update to the last database engine trait
 definition

---
 src/database/abstraction.rs       |  7 ++++++-
 src/database/abstraction/persy.rs | 12 ++++++------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/database/abstraction.rs b/src/database/abstraction.rs
index 9a3771f3..09081826 100644
--- a/src/database/abstraction.rs
+++ b/src/database/abstraction.rs
@@ -18,7 +18,12 @@ pub mod rocksdb;
 #[cfg(feature = "persy")]
 pub mod persy;
 
-#[cfg(any(feature = "sqlite", feature = "rocksdb", feature = "heed", feature="persy"))]
+#[cfg(any(
+    feature = "sqlite",
+    feature = "rocksdb",
+    feature = "heed",
+    feature = "persy"
+))]
 pub mod watchers;
 
 pub trait DatabaseEngine: Send + Sync {
diff --git a/src/database/abstraction/persy.rs b/src/database/abstraction/persy.rs
index 71efed3b..628cf32b 100644
--- a/src/database/abstraction/persy.rs
+++ b/src/database/abstraction/persy.rs
@@ -11,12 +11,12 @@ use std::{future::Future, pin::Pin, sync::Arc};
 
 use tracing::warn;
 
-pub struct PersyEngine {
+pub struct Engine {
     persy: Persy,
 }
 
-impl DatabaseEngine for PersyEngine {
-    fn open(config: &Config) -> Result<Arc<Self>> {
+impl DatabaseEngine for Arc<Engine> {
+    fn open(config: &Config) -> Result<Self> {
         let mut cfg = persy::Config::new();
         cfg.change_cache_size((config.db_cache_capacity_mb * 1024.0 * 1024.0) as u64);
 
@@ -24,10 +24,10 @@ impl DatabaseEngine for PersyEngine {
             .create(true)
             .config(cfg)
             .open(&format!("{}/db.persy", config.database_path))?;
-        Ok(Arc::new(PersyEngine { persy }))
+        Ok(Arc::new(Engine { persy }))
     }
 
-    fn open_tree(self: &Arc<Self>, name: &'static str) -> Result<Arc<dyn Tree>> {
+    fn open_tree(&self, name: &'static str) -> Result<Arc<dyn Tree>> {
         // Create if it doesn't exist
         if !self.persy.exists_index(name)? {
             let mut tx = self.persy.begin()?;
@@ -42,7 +42,7 @@ impl DatabaseEngine for PersyEngine {
         }))
     }
 
-    fn flush(self: &Arc<Self>) -> Result<()> {
+    fn flush(&self) -> Result<()> {
         Ok(())
     }
 }