From df18390a5474b5f733c060e743faa609d01d2169 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Tue, 26 Aug 2025 21:56:06 -0300 Subject: [PATCH] refactor: remove database transactions from item service Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) --- src/services/item_service.rs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/services/item_service.rs b/src/services/item_service.rs index daecb77..cbf6973 100644 --- a/src/services/item_service.rs +++ b/src/services/item_service.rs @@ -197,10 +197,8 @@ impl ItemService { item_path.push(id.to_string()); debug!("ITEM_SERVICE: Deleting file at path: {:?}", item_path); - let tx = conn.transaction()?; - db::delete_item(&tx, item)?; + db::delete_item(conn, item)?; fs::remove_file(&item_path).or_else(|e| if e.kind() == std::io::ErrorKind::NotFound { Ok(()) } else { Err(e) })?; - tx.commit()?; debug!("ITEM_SERVICE: Successfully deleted item {}", id); Ok(()) @@ -316,24 +314,23 @@ impl ItemService { let compression_type = CompressionType::LZ4; let compression_engine = get_compression_engine(compression_type.clone())?; - let tx = conn.transaction()?; let item_id; let mut item; { - item = db::create_item(&tx, compression_type.clone())?; + item = db::create_item(conn, compression_type.clone())?; item_id = item.id.unwrap(); debug!("ITEM_SERVICE: Created MCP item with id: {}", item_id); // Add tags for tag in tags { - db::add_tag(&tx, item_id, tag)?; + db::add_tag(conn, item_id, tag)?; } debug!("ITEM_SERVICE: Added {} tags to MCP item", tags.len()); // Add custom metadata for (key, value) in metadata { - db::add_meta(&tx, item_id, key, value)?; + db::add_meta(conn, item_id, key, value)?; } debug!("ITEM_SERVICE: Added {} custom metadata entries to MCP item", metadata.len()); } @@ -362,17 +359,16 @@ impl ItemService { debug!("ITEM_SERVICE: Created {} meta plugins for MCP item", plugins.len()); self.meta_service - .initialize_plugins(&mut plugins, &tx, item_id); + .initialize_plugins(&mut plugins, conn, item_id); self.meta_service - .process_chunk(&mut plugins, content, &tx, item_id); - self.meta_service.finalize_plugins(&mut plugins, &tx, item_id); + .process_chunk(&mut plugins, content, conn, item_id); + self.meta_service.finalize_plugins(&mut plugins, conn, item_id); debug!("ITEM_SERVICE: Processed MCP item through meta plugins"); item.size = Some(content.len() as i64); - db::update_item(&tx, item.clone())?; + db::update_item(conn, item.clone())?; - tx.commit()?; - debug!("ITEM_SERVICE: MCP item transaction committed successfully"); + debug!("ITEM_SERVICE: MCP item saved successfully"); self.get_item(conn, item_id) }