]> granicus.if.org Git - ejabberd/commitdiff
mod_mam_mnesia: Fix check for empty archive
authorHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 21 Feb 2019 21:19:29 +0000 (22:19 +0100)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 21 Feb 2019 21:19:29 +0000 (22:19 +0100)
Don't return 'true' if the key exists but points to an empty archive.
Also, avoid looking up all keys.

src/mod_mam_mnesia.erl

index f94dd2e4922b5d1ee6d576c014b0c4e5d339d7ec..dff10ef96b6030ec6602d775b039b0b9957b42e4 100644 (file)
@@ -200,8 +200,7 @@ select(_LServer, JidRequestor,
     Result.
 
 is_empty_for_user(LUser, LServer) ->
-       not lists:member({LUser, LServer},
-               mnesia:dirty_all_keys(archive_msg)).
+    mnesia:dirty_read(archive_msg, {LUser, LServer}) == [].
 
 is_empty_for_room(_LServer, LName, LHost) ->
     is_empty_for_user(LName, LHost).