From 87f24ef55c237b88f7213a4f8e2ede5fbd6b094a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 22 Oct 2019 11:27:01 +0200 Subject: [PATCH 1/2] 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) ")" From 7a78fc4ef330d0c8fef00831e111d83d4b618d63 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 23 Oct 2019 10:54:41 +0200 Subject: [PATCH 2/2] test_mx_util: Add "\n" to stderr message --- test_mx_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_mx_util.c b/test_mx_util.c index 05389f42..4d4c4f38 100644 --- a/test_mx_util.c +++ b/test_mx_util.c @@ -367,7 +367,7 @@ static void test_mx_strvec_cachebug() { strvec2 = mx_strvec_new(); assert(mx_strvec_length(strvec2) == 0); if (strvec != strvec2) - fprintf(stderr, "Warning: Can't test strvec cache bug. Skipping."); + fprintf(stderr, "Warning: Can't test strvec cache bug. Skipping.\n"); mx_free_null(strvec2); mx_free_null(str); }