From 17923b88408b3de9d259ea099499369bd4313967 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Fri, 18 Jun 2021 08:15:29 +0200
Subject: [PATCH] DB: Don't throw an error if the update override a progressing
 one

This is done because the last update may have been canceled before
completion and the update was not 'completed' (increment the current job
update serial).
---
 src/database/update.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/database/update.c b/src/database/update.c
index e5a13b77..ffe31217 100644
--- a/src/database/update.c
+++ b/src/database/update.c
@@ -12,14 +12,14 @@ ___add_kara_to_update_job(lkt_db *db, size_t id)
     char SQL[LKT_MAX_SQLITE_STATEMENT];
 
     if (id) {
-        static const char *SQL_TEMP = "INSERT INTO updates (job, kara_id) "
+        static const char *SQL_TEMP = "INSERT OR REPLACE INTO updates (job, kara_id) "
                                       "SELECT MAX(update_job), %ld FROM misc;"
                                       "UPDATE kara SET available = 1 WHERE id = %ld;";
         safe_snprintf(SQL, LKT_MAX_SQLITE_STATEMENT, SQL_TEMP, id, id);
     }
 
     else {
-        static const char *SQL_TEMP = "INSERT INTO updates (job, kara_id) "
+        static const char *SQL_TEMP = "INSERT OR REPLACE INTO updates (job, kara_id) "
                                       "SELECT MAX(update_job), last_insert_rowid() FROM misc;"
                                       "UPDATE kara SET available = 1 WHERE id = last_insert_rowid();";
         safe_strncpy(SQL, SQL_TEMP, LKT_MAX_SQLITE_STATEMENT);
-- 
GitLab