# HG changeset patch # User Matthew Wild # Date 1433343466 -3600 # Node ID b553a30620b28a4790b49760147a34bd1191cc1e # Parent 592f6112563eca22b9fd55a0441f217986a5fc62 util.sql: Remove built-in engine caching. This is the wrong layer to do this, and unintentionally sharing connections could cause problems (e.g. when interleaving multiple queries and result fetching) diff -r 592f6112563e -r b553a30620b2 util/sql.lua --- a/util/sql.lua Wed Jun 03 15:55:43 2015 +0100 +++ b/util/sql.lua Wed Jun 03 15:57:46 2015 +0100 @@ -283,14 +283,9 @@ path = params.database, }; end -local engine_cache = {}; -- TODO make weak valued -function create_engine(self, params) - local url = db2uri(params); - if not engine_cache[url] then - local engine = setmetatable({ url = url, params = params }, engine_mt); - engine_cache[url] = engine; - end - return engine_cache[url]; + +function create_engine(self, params, onconnect) + return setmetatable({ url = db2uri(params), params = params, onconnect = onconnect }, engine_mt); end return _M;