From: Aki Tuomi Date: Fri, 31 Aug 2018 09:43:11 +0000 (+0300) Subject: driver-sqlpool: Use init_full when available X-Git-Tag: 2.3.9~1460 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79991d14a340a828f24203da4ec610cccbfd49df;p=thirdparty%2Fdovecot%2Fcore.git driver-sqlpool: Use init_full when available --- diff --git a/src/lib-sql/driver-sqlpool.c b/src/lib-sql/driver-sqlpool.c index f262ed0fff..1bf1dbbcd6 100644 --- a/src/lib-sql/driver-sqlpool.c +++ b/src/lib-sql/driver-sqlpool.c @@ -264,10 +264,22 @@ sqlpool_add_connection(struct sqlpool_db *db, struct sqlpool_host *host, { struct sql_db *conndb; struct sqlpool_connection *conn; + const char *error; + int ret = 0; host->connection_count++; - conndb = db->driver->v.init(host->connect_string); + if (db->driver->v.init_full == NULL) { + conndb = db->driver->v.init(host->connect_string); + } else { + struct sql_settings set = { + .connect_string = host->connect_string, + }; + ret = db->driver->v.init_full(&set, &conndb, &error); + } + if (ret < 0) + i_fatal("sqlpool: %s", error); + i_array_init(&conndb->module_contexts, 5); conndb->state_change_callback = sqlpool_state_changed;