summaryrefslogtreecommitdiff
path: root/src/ejabberd_sm.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-01-11 16:25:43 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-01-11 16:25:43 +0300
commit02f96d0f41e86b531622cda15cfcf8d52040bd7b (patch)
tree783f54bbe269faaeb9aff5badd868b46b8ca0376 /src/ejabberd_sm.erl
parentFix attaching ejabberd_s2s_out process to a supervisor (diff)
Implement database backend interface for ejabberd_router
Diffstat (limited to 'src/ejabberd_sm.erl')
-rw-r--r--src/ejabberd_sm.erl12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index 38b7ed15..327c79b6 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -766,10 +766,14 @@ force_update_presence({LUser, LServer}) ->
-spec get_sm_backend(binary()) -> module().
get_sm_backend(Host) ->
- DBType = ejabberd_config:get_option(
- {sm_db_type, Host},
- fun(T) -> ejabberd_config:v_db(?MODULE, T) end,
- mnesia),
+ DBType = case ejabberd_config:get_option(
+ {sm_db_type, Host},
+ fun(T) -> ejabberd_config:v_db(?MODULE, T) end) of
+ undefined ->
+ ejabberd_config:default_ram_db(Host, ?MODULE);
+ T ->
+ T
+ end,
list_to_atom("ejabberd_sm_" ++ atom_to_list(DBType)).
-spec get_sm_backends() -> [module()].