aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaweł Chmielowski <pawel@process-one.net>2022-06-17 10:35:02 +0200
committerPaweł Chmielowski <pawel@process-one.net>2022-06-17 10:35:02 +0200
commit46c947bc76c34bd6b1d09347828acaa685d76795 (patch)
treea1fbec5034fc9c32d7c25a1c33b177343433ec4a /src
parentFix mam delete_old_messages_batch for sql backend (diff)
Define batch delete function types in coresponding behaviours
Diffstat (limited to 'src')
-rw-r--r--src/mod_mam.erl13
-rw-r--r--src/mod_offline.erl7
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) ->
[].