From: HAMANO Tsukasa Date: Mon, 15 Aug 2016 08:51:06 +0000 (+0900) Subject: fix clean redis table X-Git-Tag: 16.09~40^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=877d0752e279bdfcc7458636f6a3b0263efc317a;p=ejabberd fix clean redis table --- diff --git a/src/ejabberd_sm_redis.erl b/src/ejabberd_sm_redis.erl index d25f777e3..2bfd2d8d1 100644 --- a/src/ejabberd_sm_redis.erl +++ b/src/ejabberd_sm_redis.erl @@ -145,7 +145,10 @@ clean_table() -> {_, SID} = binary_to_term(USSIDKey), node(element(2, SID)) == node() end, Vals), - Q1 = ["HDEL", ServKey | Vals1], + Q1 = case Vals1 of + [] -> []; + _ -> ["HDEL", ServKey | Vals1] + end, Q2 = lists:map( fun(USSIDKey) -> {US, SID} = binary_to_term(USSIDKey), @@ -153,7 +156,7 @@ clean_table() -> SIDKey = sid_to_key(SID), ["HDEL", USKey, SIDKey] end, Vals1), - Res = ejabberd_redis:qp([Q1|Q2]), + Res = ejabberd_redis:qp(lists:delete([], [Q1|Q2])), case lists:filter( fun({ok, _}) -> false; (_) -> true