diff options
| author | Badlop <badlop@process-one.net> | 2010-12-23 02:10:14 +0100 |
|---|---|---|
| committer | Badlop <badlop@process-one.net> | 2010-12-23 02:16:00 +0100 |
| commit | 7ca1c0387c5281ff92862e44de33becbeebf77b8 (patch) | |
| tree | 4e52fd4a768269aa751180ec083930e6cf6aabfc | |
| parent | Bugfix in starting persistent rooms when mod_muc odbc (EJAB-1365) (diff) | |
Clean muc_online_room when mod_muc starts (EJAB-1365)
| -rw-r--r-- | src/mod_muc/mod_muc.erl | 3 |
1 files changed, 3 insertions, 0 deletions
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), |
