diff --git a/src/compression_engine/program.rs b/src/compression_engine/program.rs index 64de7d6..8d906ae 100644 --- a/src/compression_engine/program.rs +++ b/src/compression_engine/program.rs @@ -7,7 +7,6 @@ use std::io::{Read, Write}; use std::os::unix::fs::PermissionsExt; use std::path::PathBuf; use std::process::{Child, Command, Stdio}; -use std::sync::Arc; use crate::compression_engine::CompressionEngine; diff --git a/src/modes/save.rs b/src/modes/save.rs index 1d3a69a..556fde9 100644 --- a/src/modes/save.rs +++ b/src/modes/save.rs @@ -24,7 +24,7 @@ fn initialize_tags(tags: &mut Vec) { fn setup_compression_and_plugins( cmd: &mut Command, - _args: &crate::Args, + args: &crate::Args, ) -> (crate::compression_engine::CompressionType, Box, Vec>) { let digest_type = cmd_args_digest_type(cmd, &_args); debug!("MAIN: Digest type: {:?}", digest_type); @@ -120,8 +120,8 @@ fn create_and_log_item( } fn setup_item_metadata( - conn: &mut rusqlite::Connection, // Changed to mutable reference - args: &crate::Args, + conn: &mut rusqlite::Connection, + _args: &crate::Args, item: &crate::db::Item, tags: &Vec, ) -> Result<(), anyhow::Error> { @@ -202,7 +202,7 @@ fn process_input_stream( } fn finalize_meta_plugins( - conn: &rusqlite::Connection, + conn: &mut rusqlite::Connection, meta_plugins: &mut Vec>, item: &crate::db::Item, ) -> Result<(), anyhow::Error> { @@ -240,7 +240,7 @@ pub fn mode_save( setup_item_metadata(conn, args, &item, tags)?; // Pass mutable reference // Use a transaction for database operations to ensure atomicity - let mut tx = conn.transaction()?; + let tx = conn.transaction()?; let item_meta = collect_item_meta(args); let item_id = item.id.ok_or_else(|| anyhow!("Item missing ID"))?; @@ -264,8 +264,8 @@ pub fn mode_save( item.size = processed_item.size; item.compression = compression_type.to_string(); - // Pass the transaction directly (not as mutable reference) - finalize_meta_plugins(&tx, &mut meta_plugins, &item)?; + // Pass the transaction as mutable reference + finalize_meta_plugins(&mut tx, &mut meta_plugins, &item)?; crate::db::update_item(&tx, item.clone())?; // Commit the transaction diff --git a/src/modes/update.rs b/src/modes/update.rs index ea75d30..faaf334 100644 --- a/src/modes/update.rs +++ b/src/modes/update.rs @@ -100,8 +100,8 @@ pub fn mode_update( debug!("DIGEST: {}", digest_value); // Save digest to meta using the common function - // Pass the transaction directly instead of calling into_inner() - store_item_digest_value(&tx, item.clone(), digest_type, digest_value)?; + // Pass the transaction as mutable reference + store_item_digest_value(&mut tx, item.clone(), digest_type, digest_value)?; } else { debug!( "MAIN: Unable to update digest of item due to missing file {:?}",