From ce0e8dd645b2589766caa6387e9a5db73e11a8cc Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Thu, 29 Jun 2023 13:34:20 +0300 Subject: [PATCH] lib-sql: Add last connection error to sql_connection_finished event --- src/lib-sql/sql-api-private.h | 2 ++ src/lib-sql/sql-api.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib-sql/sql-api-private.h b/src/lib-sql/sql-api-private.h index cbcc2a5a44..e431ca166d 100644 --- a/src/lib-sql/sql-api-private.h +++ b/src/lib-sql/sql-api-private.h @@ -156,6 +156,8 @@ struct sql_db { unsigned int connect_delay; unsigned int connect_failure_count; struct timeout *to_reconnect; + /* last connection error */ + char *last_connect_error; uint64_t succeeded_queries; uint64_t failed_queries; diff --git a/src/lib-sql/sql-api.c b/src/lib-sql/sql-api.c index e54527cb9e..90542b4676 100644 --- a/src/lib-sql/sql-api.c +++ b/src/lib-sql/sql-api.c @@ -815,11 +815,14 @@ void sql_transaction_add_query(struct sql_transaction_context *ctx, pool_t pool, void sql_connection_log_finished(struct sql_db *db) { struct event_passthrough *e = event_create_passthrough(db->event)-> - set_name(SQL_CONNECTION_FINISHED); + set_name(SQL_CONNECTION_FINISHED)-> + add_str("name", db->name)-> + add_str("error", db->last_connect_error); e_debug(e->event(), "Connection finished (queries=%"PRIu64", slow queries=%"PRIu64")", db->succeeded_queries + db->failed_queries, db->slow_queries); + i_free(db->last_connect_error); } struct event_passthrough * -- 2.47.3