From 8677ee91815ced55b98d0fa0c7d1d84c97c92e3a Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Sat, 6 May 2023 17:50:27 +0200 Subject: [PATCH] Fix book_author update --- src/types.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/types.rs b/src/types.rs index bb4b563..6cb6bb4 100644 --- a/src/types.rs +++ b/src/types.rs @@ -225,9 +225,15 @@ impl Update for BookAuthor { BEGIN SELECT id INTO book_id FROM books WHERE source = source_ AND remote_id = book_; SELECT id INTO author_id FROM authors WHERE source = source_ AND remote_id = author_; + + IF book_id IS NULL OR author_id IS NULL + RETURN; + END IF; + IF EXISTS (SELECT * FROM book_authors WHERE book = book_id AND author = author_id) THEN RETURN; END IF; + INSERT INTO book_authors (book, author) VALUES (book_id, author_id); END; $$ LANGUAGE plpgsql;