Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 4cd5c763 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

Correct order of update/delete

parent 9699ef26
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!74Pop
......@@ -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];
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter