diff options
author | Kim Alvefur <zash@zash.se> | 2016-03-21 09:50:52 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2016-03-21 09:50:52 +0100 |
commit | 6a65e76fc615bd10c21776bd4c4455ab522d2f29 (patch) | |
tree | b0acc90f74a7e8e23a10d7322a976b4f5650ba7e | |
parent | 83160bcdc5bc62753096b67ebac7f5dd66082240 (diff) | |
download | prosody-6a65e76fc615bd10c21776bd4c4455ab522d2f29.tar.gz prosody-6a65e76fc615bd10c21776bd4c4455ab522d2f29.zip |
util.sql: Catch errors from LuaDBI connect (Fixes #568)
-rw-r--r-- | util/sql.lua | 3 |
1 files changed, 2 insertions, 1 deletions
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; |