From cbb88638d22fe898af9c5821bf5e6e5993febcb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= Date: Wed, 30 Apr 2025 14:31:05 +0200 Subject: [PATCH] Add mssql specific implementation of delete_old_mam_messages --- src/mod_mam_sql.erl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mod_mam_sql.erl b/src/mod_mam_sql.erl index 2747254ac..71420c9ea 100644 --- a/src/mod_mam_sql.erl +++ b/src/mod_mam_sql.erl @@ -221,6 +221,10 @@ delete_old_messages_batch(ServerHost, TimeStamp, Type, Batch) -> ejabberd_sql:sql_query_t( ?SQL("delete from archive where rowid in " "(select rowid from archive where timestamp < %(TS)d and %(ServerHost)H limit %(Batch)d)")); + (mssql, _) -> + ejabberd_sql:sql_query_t( + ?SQL("delete top(%(Batch)d)ยง from archive" + " where timestamp < %(TS)d and %(ServerHost)H")); (_, _) -> ejabberd_sql:sql_query_t( ?SQL("delete from archive" @@ -236,6 +240,12 @@ delete_old_messages_batch(ServerHost, TimeStamp, Type, Batch) -> " select rowid from archive where timestamp < %(TS)d" " and kind=%(SType)s" " and %(ServerHost)H limit %(Batch)d)")); + (mssql, _)-> + ejabberd_sql:sql_query_t( + ?SQL("delete top(%(Batch)d) from archive" + " where timestamp < %(TS)d" + " and kind=%(SType)s" + " and %(ServerHost)H")); (_,_)-> ejabberd_sql:sql_query_t( ?SQL("delete from archive"