From: Aki Tuomi Date: Thu, 29 Jun 2023 10:34:20 +0000 (+0300) Subject: lib-sql: Add last connection error to sql_connection_finished event X-Git-Tag: 2.4.0~2662 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce0e8dd645b2589766caa6387e9a5db73e11a8cc;p=thirdparty%2Fdovecot%2Fcore.git lib-sql: Add last connection error to sql_connection_finished event --- 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 *