From: Aki Tuomi Date: Thu, 29 Jun 2023 10:34:42 +0000 (+0300) Subject: lib-sql: cassandra - Retain last connection error X-Git-Tag: 2.4.0~2661 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bcb9603d6ad9e87e6526cb4bc086723758a76583;p=thirdparty%2Fdovecot%2Fcore.git lib-sql: cassandra - Retain last connection error --- diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index e901b0ba01..fe15a49f40 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -545,8 +545,16 @@ static void connect_callback(CassFuture *future, void *context) struct cassandra_db *db = context; if (cass_future_error_code(future) != CASS_OK) { + const char *message; + size_t size; + string_t *str; driver_cassandra_log_error(db, future, "Couldn't connect to Cassandra"); + cass_future_error_message(future, &message, &size); + i_free(db->api.last_connect_error); + str = str_new(default_pool, size); + str_append_data(str, message, size); + db->api.last_connect_error = str_free_without_data(&str); driver_cassandra_close(db, "Couldn't connect to Cassandra"); return; }