diff --git a/src/vault.rs b/src/vault.rs index f6d1cca..a490154 100644 --- a/src/vault.rs +++ b/src/vault.rs @@ -5,6 +5,7 @@ mod prepare; use std::path::Path; use std::{fs, thread}; +use log::error; use rusqlite::Connection; use tokio::sync::{mpsc, oneshot}; @@ -50,7 +51,9 @@ fn run(mut conn: Connection, mut rx: mpsc::UnboundedReceiver) { match request { Request::Close(tx) => { println!("Closing vault"); - let _ = conn.execute_batch("PRAGMA optimize"); + if let Err(e) = conn.execute_batch("PRAGMA optimize") { + error!("{e}"); + } // Ensure `Vault::close` exits only after the sqlite connection // has been closed properly. drop(conn); @@ -58,10 +61,16 @@ fn run(mut conn: Connection, mut rx: mpsc::UnboundedReceiver) { break; } Request::Gc(tx) => { - let _ = conn.execute_batch("ANALYZE; VACUUM;"); + if let Err(e) = conn.execute_batch("ANALYZE; VACUUM;") { + error!("{e}"); + } drop(tx); } - Request::Euph(r) => r.perform(&mut conn), + Request::Euph(r) => { + if let Err(e) = r.perform(&mut conn) { + error!("{e}"); + } + } } } } diff --git a/src/vault/euph.rs b/src/vault/euph.rs index d0665d6..932d092 100644 --- a/src/vault/euph.rs +++ b/src/vault/euph.rs @@ -217,11 +217,10 @@ macro_rules! requests { } impl EuphRequest { - pub(super) fn perform(self, conn: &mut Connection) { - // TODO Handle this result - let _ = match self { + pub(super) fn perform(self, conn: &mut Connection) -> rusqlite::Result<()> { + match self { $( Self::$var(request) => request.perform(conn), )* - }; + } } }