diff options
author | Christoph Scholz <christoph.scholz@gmail.com> | 2019-01-27 15:35:06 +0100 |
---|---|---|
committer | Christoph Scholz <christoph.scholz@gmail.com> | 2019-02-18 13:42:45 +0100 |
commit | 2e586000d7e550d44799049d9a66f81767c0db25 (patch) | |
tree | dea399f65303912806572dfa532cd347df40f5f1 /src/mod_mam_mnesia.erl | |
parent | option to prevent archive removal on room destroy (diff) |
allow check if archive is empty for or user or room
Diffstat (limited to 'src/mod_mam_mnesia.erl')
-rw-r--r-- | src/mod_mam_mnesia.erl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mod_mam_mnesia.erl b/src/mod_mam_mnesia.erl index 08d55158..f94dd2e4 100644 --- a/src/mod_mam_mnesia.erl +++ b/src/mod_mam_mnesia.erl @@ -28,7 +28,8 @@ %% API -export([init/2, remove_user/2, remove_room/3, delete_old_messages/3, - extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6, remove_from_archive/3]). + extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6, remove_from_archive/3, + is_empty_for_user/2, is_empty_for_room/3]). -include_lib("stdlib/include/ms_transform.hrl"). -include("xmpp.hrl"). @@ -198,6 +199,13 @@ select(_LServer, JidRequestor, erlang:garbage_collect(), Result. +is_empty_for_user(LUser, LServer) -> + not lists:member({LUser, LServer}, + mnesia:dirty_all_keys(archive_msg)). + +is_empty_for_room(_LServer, LName, LHost) -> + is_empty_for_user(LName, LHost). + %%%=================================================================== %%% Internal functions %%%=================================================================== |