diff --git a/src/database/queue.c b/src/database/queue.c index 5c7cc914353b6a2626b1c4ed18ae204a05dd92e0..550463d5a222530896c618283294b1d6f4a7fd9d 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];