# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# 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;