From 46c947bc76c34bd6b1d09347828acaa685d76795 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= Date: Fri, 17 Jun 2022 10:35:02 +0200 Subject: [PATCH] Define batch delete function types in coresponding behaviours --- src/mod_mam.erl | 13 ++++++++++++- src/mod_offline.erl | 7 ++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/mod_mam.erl b/src/mod_mam.erl index 693889c2c..7d9e308f5 100644 --- a/src/mod_mam.erl +++ b/src/mod_mam.erl @@ -89,7 +89,18 @@ {[{binary(), non_neg_integer(), xmlel()}], boolean(), count()} | {error, db_failure}. --optional_callbacks([use_cache/1, cache_nodes/1, select_with_mucsub/6, select/6, select/7]). +-callback delete_old_messages_batch(binary(), erlang:timestamp(), + all | chat | groupchat, + pos_integer()) -> + {ok, non_neg_integer()} | {error, term()}. + +-callback delete_old_messages_batch(binary(), erlang:timestamp(), + all | chat | groupchat, + pos_integer(), any()) -> + {ok, any(), non_neg_integer()} | {error, term()}. + +-optional_callbacks([use_cache/1, cache_nodes/1, select_with_mucsub/6, select/6, select/7, + delete_old_messages_batch/5, delete_old_messages_batch/4]). %%%=================================================================== %%% API diff --git a/src/mod_offline.erl b/src/mod_offline.erl index 77610f5a7..9e7e3dffe 100644 --- a/src/mod_offline.erl +++ b/src/mod_offline.erl @@ -106,9 +106,14 @@ -callback count_messages(binary(), binary()) -> {ets_cache:tag(), non_neg_integer()}. -callback use_cache(binary()) -> boolean(). -callback cache_nodes(binary()) -> [node()]. +-callback remove_old_messages_batch(binary(), non_neg_integer(), pos_integer()) -> + {ok, non_neg_integer()} | {error, term()}. +-callback remove_old_messages_batch(binary(), non_neg_integer(), pos_integer(), any()) -> + {ok, any(), non_neg_integer()} | {error, term()}. -optional_callbacks([remove_expired_messages/1, remove_old_messages/2, - use_cache/1, cache_nodes/1]). + use_cache/1, cache_nodes/1, remove_old_messages_batch/3, + remove_old_messages_batch/4]). depends(_Host, _Opts) -> [].