From 87f24ef55c237b88f7213a4f8e2ede5fbd6b094a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 22 Oct 2019 11:27:01 +0200 Subject: [PATCH] mxq_daemon: Don't use NULL for CURRENT_TIMESTAMP() daemon_start and daemon_stop are defined as TIMESTAMP NOT NULL DEFAULT 0 If elder mysql versions, these fields could be set to NULL to get the current timestamp into it. mysql 8 does not allow that and throws 2019-10-22 10:55:50 +0200 mxqd[9827]: mxqd mx_mysql.c:413:mx__mysql_stmt_execute(): WARNING: MySQL mysql_stmt_execute(): ERROR 1048 (23000): Column 'daemon_start' cannot be null So use CURRENT_TIMESTAMP explicitly. --- mxq_daemon.c | 6 +++--- mxq_job.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mxq_daemon.c b/mxq_daemon.c index 87d29248..432fd532 100644 --- a/mxq_daemon.c +++ b/mxq_daemon.c @@ -135,7 +135,7 @@ int mxq_daemon_register(struct mx_mysql *mysql, struct mxq_daemon *daemon) " daemon_threads_running = 0," " daemon_memory_used = 0," " mtime = NULL," - " daemon_start = NULL," + " daemon_start = CURRENT_TIMESTAMP()," " daemon_stop = 0" ); if (!stmt) { @@ -196,7 +196,7 @@ int mxq_daemon_shutdown(struct mx_mysql *mysql, struct mxq_daemon *daemon) " mxq_daemon" " SET" " mtime = NULL," - " daemon_stop = NULL," + " daemon_stop = CURRENT_TIMESTAMP()," " status = " status_str(MXQ_DAEMON_STATUS_EXITED) " WHERE daemon_id = ?"; @@ -232,7 +232,7 @@ int mxq_daemon_mark_crashed(struct mx_mysql *mysql, struct mxq_daemon *daemon) query = "UPDATE" " mxq_daemon" " SET" - " daemon_stop = NULL," + " daemon_stop = CURRENT_TIMESTAMP()," " status = " status_str(MXQ_DAEMON_STATUS_CRASHED) " WHERE status NOT IN (" status_str(MXQ_DAEMON_STATUS_EXITED) "," diff --git a/mxq_job.c b/mxq_job.c index 01712b41..42a5dc02 100644 --- a/mxq_job.c +++ b/mxq_job.c @@ -571,7 +571,7 @@ int mxq_set_job_status_exited(struct mx_mysql *mysql, struct mxq_job *job) " stats_nvcsw = ?," " stats_nivcsw = ?," " job_status = ?," - " date_end = NULL" + " date_end = CURRENT_TIMESTAMP()" " WHERE job_status IN (" status_str(MXQ_JOB_STATUS_LOADED) "," status_str(MXQ_JOB_STATUS_RUNNING) ")"