aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2019-09-28 18:24:28 +0200
committerKim Alvefur <zash@zash.se>2019-09-28 18:24:28 +0200
commit5bc702719e48c8b44d31f0ee65197357397d6f35 (patch)
treec4e5b7b3dc500c5d72b97a50883d90af47514c48 /util
parentbbfc926e6ebc2de781d0f65a31d41960220a2660 (diff)
downloadprosody-5bc702719e48c8b44d31f0ee65197357397d6f35.tar.gz
prosody-5bc702719e48c8b44d31f0ee65197357397d6f35.zip
util.sql: Preserve 3rd and 4th return values from transaction (fixes #1434) (thanks mrdoctorwho)
Diffstat (limited to 'util')
-rw-r--r--util/sql.lua6
1 files changed, 3 insertions, 3 deletions
diff --git a/util/sql.lua b/util/sql.lua
index 4406d7ff..86740b1c 100644
--- a/util/sql.lua
+++ b/util/sql.lua
@@ -218,14 +218,14 @@ function engine:_transaction(func, ...)
end
end
function engine:transaction(...)
- local ok, ret = self:_transaction(...);
+ local ok, ret, b, c = self:_transaction(...);
if not ok then
local conn = self.conn;
if not conn or not conn:ping() then
log("debug", "Database connection was closed. Will reconnect and retry.");
self.conn = nil;
log("debug", "Retrying SQL transaction [%s]", (...));
- ok, ret = self:_transaction(...);
+ ok, ret, b, c = self:_transaction(...);
log("debug", "SQL transaction retry %s", ok and "succeeded" or "failed");
else
log("debug", "SQL connection is up, so not retrying");
@@ -234,7 +234,7 @@ function engine:transaction(...)
log("error", "Error in SQL transaction: %s", ret);
end
end
- return ok, ret;
+ return ok, ret, b, c;
end
function engine:_create_index(index)
local sql = "CREATE INDEX \""..index.name.."\" ON \""..index.table.."\" (";