From: Kim Alvefur Date: Mon, 21 Mar 2016 08:50:52 +0000 (+0100) Subject: util.sql: Catch errors from LuaDBI connect (Fixes #568) X-Git-Url: https://git.enpas.org/?a=commitdiff_plain;h=c7381b259c35e4c093b32da12b18e63d7108e83a;p=prosody.git util.sql: Catch errors from LuaDBI connect (Fixes #568) --- diff --git a/util/sql.lua b/util/sql.lua index dcf665fb..f64e8e10 100644 --- a/util/sql.lua +++ b/util/sql.lua @@ -102,11 +102,12 @@ function engine:connect() local params = self.params; assert(params.driver, "no driver") log("debug", "Connecting to [%s] %s...", params.driver, params.database); - local dbh, err = DBI.Connect( + local ok, dbh, err = pcall(DBI.Connect, params.driver, params.database, params.username, params.password, params.host, params.port ); + if not ok then return ok, dbh; end if not dbh then return nil, err; end dbh:autocommit(false); -- don't commit automatically self.conn = dbh;