From 4cd5c763e33533ecf016a7ce1b04feb01c7eac4d Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Mon, 4 May 2020 19:37:50 +0200
Subject: [PATCH] Correct order of update/delete

---
 src/database/queue.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/database/queue.c b/src/database/queue.c
index 5c7cc914..550463d5 100644
--- a/src/database/queue.c
+++ b/src/database/queue.c
@@ -256,12 +256,9 @@ database_queue_del_id(volatile sqlite3 *db, int id)
     static const char *SQL_TEMPLATE =
         "BEGIN TRANSACTION;"
         "WITH before(pos) AS (SELECT position FROM queue JOIN queue_state WHERE position < current ORDER BY position DESC LIMIT 1) "
-        "UPDATE queue_state SET current = CASE"
-        " WHEN current IS NULL THEN NULL"
-        " ELSE (SELECT pos FROM before) "
-        "END WHERE current > " POS_OF_ID ";"
-        "DELETE FROM queue WHERE kara_id = %d;"
+        "UPDATE queue_state SET current = CASE WHEN current IS NULL THEN NULL ELSE (SELECT pos FROM before) END WHERE current > " POS_OF_ID ";"
         "UPDATE queue SET position = position - 1 WHERE position > " POS_OF_ID ";"
+        "DELETE FROM queue WHERE kara_id = %d;"
         "COMMIT TRANSACTION;";
 #undef POS_OF_ID
     char SQL[LKT_MAX_SQLITE_STATEMENT];
-- 
GitLab