From 7ca1c0387c5281ff92862e44de33becbeebf77b8 Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 23 Dec 2010 02:10:14 +0100 Subject: Clean muc_online_room when mod_muc starts (EJAB-1365) --- src/mod_muc/mod_muc.erl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mod_muc/mod_muc.erl b/src/mod_muc/mod_muc.erl index caba62e2c..c8df525f8 100644 --- a/src/mod_muc/mod_muc.erl +++ b/src/mod_muc/mod_muc.erl @@ -328,6 +328,9 @@ init([Host, Opts]) -> {attributes, record_info(fields, muc_online_room)}, {types, [{name_host, {text, text}}, {pid, pid}]}]), + %% If ejabberd stops abruptly, ODBC table keeps obsolete data. Let's clean: + gen_storage:dirty_delete_where(MyHost, muc_online_room, + [{'=', name_host, {'_', MyHost}}]), gen_storage:add_table_copy(MyHost, muc_online_room, node(), ram_copies), catch ets:new(muc_online_users, [bag, named_table, public, {keypos, 2}]), gen_storage:add_table_index(MyHost, muc_registered, nick), -- cgit v1.2.3