# HG changeset patch # User Kim Alvefur # Date 1458550252 -3600 # Node ID 98c4c3a2b536690f8ecc34a1741ebae535c19865 # Parent c02e3d8f23fcf69cdf9a0f16d5fa28b94022c703 util.sql: Catch errors from LuaDBI connect (Fixes #568) diff -r c02e3d8f23fc -r 98c4c3a2b536 util/sql.lua --- a/util/sql.lua Mon Mar 21 09:33:12 2016 +0100 +++ b/util/sql.lua Mon Mar 21 09:50:52 2016 +0100 @@ -102,11 +102,12 @@ 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;