projects
/
prosody.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
422ec09
)
util.sql: Log errors in transaction to error level with traceback but return only...
author
Kim Alvefur
<zash@zash.se>
Fri, 25 Mar 2016 15:09:34 +0000
(16:09 +0100)
committer
Kim Alvefur
<zash@zash.se>
Fri, 25 Mar 2016 15:09:34 +0000
(16:09 +0100)
util/sql.lua
patch
|
blob
|
history
diff --git
a/util/sql.lua
b/util/sql.lua
index 657acb79d0dd72d0f431b2300e545f5f2b41d555..acdf9c6390ceffea97c37b6cb08b315313ae9125 100644
(file)
--- a/
util/sql.lua
+++ b/
util/sql.lua
@@
-202,6
+202,10
@@
function engine:debug(enable)
engine.update = engine.execute_update;
end
end
engine.update = engine.execute_update;
end
end
+local function handleerr(err)
+ log("error", "Error in SQL transaction: %s", debug_traceback(err, 3));
+ return err;
+end
function engine:_transaction(func, ...)
if not self.conn then
local ok, err = self:connect();
function engine:_transaction(func, ...)
if not self.conn then
local ok, err = self:connect();
@@
-212,7
+216,7
@@
function engine:_transaction(func, ...)
local function f() return func(unpack(args, 1, n_args)); end
log("debug", "SQL transaction begin [%s]", tostring(func));
self.__transaction = true;
local function f() return func(unpack(args, 1, n_args)); end
log("debug", "SQL transaction begin [%s]", tostring(func));
self.__transaction = true;
- local success, a, b, c = xpcall(f,
debug_traceback
);
+ local success, a, b, c = xpcall(f,
handleerr
);
self.__transaction = nil;
if success then
log("debug", "SQL transaction success [%s]", tostring(func));
self.__transaction = nil;
if success then
log("debug", "SQL transaction success [%s]", tostring(func));