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