From 2fcb2ac3e702930b1f1e46b6e8bb1ab89c2569a8 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Mon, 29 Mar 2021 15:19:03 +0200 Subject: [PATCH] Considering the altered database structure fixing #2 --- src/database.rs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/database.rs b/src/database.rs index 4c50098..1ce6aea 100644 --- a/src/database.rs +++ b/src/database.rs @@ -86,11 +86,24 @@ fn remove_ghost_books_from_db(tx: &Transaction) -> usize { NO_PARAMS, ) .unwrap(); - tx.execute( - r#"DELETE FROM books_uids WHERE book_id NOT IN ( SELECT id FROM books_impl )"#, - NO_PARAMS, - ) - .unwrap(); + + let version: i32 = tx + .query_row(r#"SELECT id FROM version"#, NO_PARAMS, |r| r.get(0)) + .unwrap(); + if version >= 37 { + tx.execute( + r#"DELETE FROM books_fast_hashes WHERE book_id NOT IN ( SELECT id FROM books_impl )"#, + NO_PARAMS, + ) + .unwrap(); + } else { + tx.execute( + r#"DELETE FROM books_uids WHERE book_id NOT IN ( SELECT id FROM books_impl )"#, + NO_PARAMS, + ) + .unwrap(); + } + tx.execute( r#"DELETE FROM bookshelfs_books WHERE bookid NOT IN ( SELECT id FROM books_impl )"#, NO_PARAMS,