From 12ffe5c2318801128d0e276c2add78501a97cd19 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Fri, 24 Nov 2017 20:40:32 +0200 Subject: [PATCH] Use a db transaction when deleting a feed. --- hammond-data/src/dbqueries.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hammond-data/src/dbqueries.rs b/hammond-data/src/dbqueries.rs index 2cec230..4c7d3d2 100644 --- a/hammond-data/src/dbqueries.rs +++ b/hammond-data/src/dbqueries.rs @@ -153,10 +153,13 @@ pub fn remove_feed(pd: &Podcast) -> QueryResult<()> { let db = connection(); let con = db.get().unwrap(); - delete_source(&con, pd.source_id())?; - delete_podcast(&con, *pd.id())?; - delete_podcast_episodes(&con, *pd.id())?; - Ok(()) + con.transaction(|| -> QueryResult<()> { + delete_source(&con, pd.source_id())?; + delete_podcast(&con, *pd.id())?; + delete_podcast_episodes(&con, *pd.id())?; + info!("Feed removed from the Database."); + Ok(()) + }) } pub fn delete_source(con: &SqliteConnection, source_id: i32) -> QueryResult {