diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2016-04-27 17:10:50 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2016-04-27 17:10:50 +0300 |
commit | 9c369b7a8cdb45fe8b14f35cf98df62f4e089eef (patch) | |
tree | 26712ce04f29c614480ee0563a50086833888b89 /src/ejabberd_sm.erl | |
parent | Force ERL_PATH for elixir (diff) |
Improve detection of databases supported by modules (#1092)
Diffstat (limited to 'src/ejabberd_sm.erl')
-rw-r--r-- | src/ejabberd_sm.erl | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 9a93e6d9..20b0658d 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -733,13 +733,10 @@ 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(mnesia) -> mnesia; - (internal) -> mnesia; - (odbc) -> sql; - (sql) -> sql; - (redis) -> redis - end, mnesia), + DBType = ejabberd_config:get_option( + {sm_db_type, Host}, + fun(T) -> ejabberd_config:v_db(?MODULE, T) end, + mnesia), list_to_atom("ejabberd_sm_" ++ atom_to_list(DBType)). -spec get_sm_backends() -> [module()]. @@ -812,11 +809,5 @@ kick_user(User, Server) -> make_sid() -> {p1_time_compat:unique_timestamp(), self()}. -opt_type(sm_db_type) -> - fun (mnesia) -> mnesia; - (internal) -> mnesia; - (sql) -> sql; - (odbc) -> sql; - (redis) -> redis - end; +opt_type(sm_db_type) -> fun(T) -> ejabberd_config:v_db(?MODULE, T) end; opt_type(_) -> [sm_db_type]. |