Software /
code /
prosody
Diff
plugins/mod_storage_sql2.lua @ 6335:eaf6e7986934
plugins/mod_storage_sql2: Return correct arguments from map_store operations
author | daurnimator <quae@daurnimator.com> |
---|---|
date | Thu, 07 Aug 2014 18:34:51 -0400 |
parent | 6331:fc5113a4540e |
child | 6349:0cee68dd35f8 |
line wrap: on
line diff
--- a/plugins/mod_storage_sql2.lua Thu Aug 07 18:03:31 2014 -0400 +++ b/plugins/mod_storage_sql2.lua Thu Aug 07 18:34:51 2014 -0400 @@ -219,7 +219,7 @@ local map_store = {}; map_store.__index = map_store; function map_store:get(username, key) - return engine:transaction(function() + local ok, result = engine:transaction(function() if type(key) == "string" and key ~= "" then local iter, state, first = engine:select("SELECT * FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? AND `key`=?", host, username, self.store, key or ""); @@ -233,9 +233,11 @@ error("TODO: non-string keys"); end end); + if not ok then return nil, result; end + return result; end function map_store:set(username, key, data) - return engine:transaction(function() + local ok, result = engine:transaction(function() if data == nil then engine:delete("DELETE FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? AND `key`=?", host, username, self.store, key or ""); @@ -248,6 +250,8 @@ end return true; end); + if not ok then return nil, result; end + return result; end local archive_store = {}