mod_storage_sql2: Improve logging when database read fails
[prosody.git] / plugins / mod_storage_sql2.lua
index 74f95417c170cc324131ddab817c4a5253923670..74d08801553bcfabd87e4159a5614cd42d8638e2 100644 (file)
@@ -197,10 +197,13 @@ end
 local keyval_store = {};
 keyval_store.__index = keyval_store;
 function keyval_store:get(username)
-       user,store = username,self.store;
+       user, store = username, self.store;
        local ok, result = engine:transaction(keyval_store_get);
-       if not ok then return ok, result; end
-       return result;
+       if not ok then
+               module:log("error", "Unable to read from database %s store for %s: %s", store, username or "<host>", result);
+               return nil, result;
+       end
+       return result;  
 end
 function keyval_store:set(username, data)
        user,store = username,self.store;
@@ -361,13 +364,13 @@ function driver:open(store, typ)
 end
 
 function driver:stores(username)
-       local sql = "SELECT DISTINCT `store` FROM `prosody` WHERE `host`=? AND `user`" ..
+       local query = "SELECT DISTINCT `store` FROM `prosody` WHERE `host`=? AND `user`" ..
                (username == true and "!=?" or "=?");
        if username == true or not username then
                username = "";
        end
        local ok, result = engine:transaction(function()
-               return engine:select(sql, host, username);
+               return engine:select(query, host, username);
        end);
        if not ok then return ok, result end
        return iterator(result);
@@ -376,7 +379,7 @@ end
 function driver:purge(username)
        return engine:transaction(function()
                local stmt,err = engine:delete("DELETE FROM `prosody` WHERE `host`=? AND `user`=?", host, username);
-               return true,err;
+               return true, err;
        end);
 end