aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_mnesia.erl
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2017-01-17 14:22:12 +0100
committerChristophe Romain <christophe.romain@process-one.net>2017-01-17 14:22:12 +0100
commit2ce6d49a400df569be1fc078b39d9393c7783ecd (patch)
treed256fd9ae286ca7d7641d6b8cb7c21ab669adc89 /src/ejabberd_mnesia.erl
parentAvoid stopping mod_offline before supervisor termination (#1464) (diff)
Speedup table setup, no io if EJABBERD_SCHEMA_PATH not set (#1461)
Diffstat (limited to 'src/ejabberd_mnesia.erl')
-rw-r--r--src/ejabberd_mnesia.erl22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/ejabberd_mnesia.erl b/src/ejabberd_mnesia.erl
index 4da5608e1..63f6b1def 100644
--- a/src/ejabberd_mnesia.erl
+++ b/src/ejabberd_mnesia.erl
@@ -117,19 +117,15 @@ merge(TabDef, CustomDef) ->
lists:ukeysort(1, CleanDef)).
parse(Module) ->
- Path = case os:getenv("EJABBERD_SCHEMA_PATH") of
- false ->
- case code:priv_dir(ejabberd) of
- {error, _} -> "schema"; % $SPOOL_DIR/schema
- Priv -> filename:join(Priv, "schema")
- end;
- CustomDir ->
- CustomDir
- end,
- File = filename:join(Path, atom_to_list(Module)++".mnesia"),
- case file:consult(File) of
- {ok, Terms} -> parse(Terms, []);
- Error -> Error
+ case os:getenv("EJABBERD_SCHEMA_PATH") of
+ false ->
+ {error, undefined};
+ Path ->
+ File = filename:join(Path, atom_to_list(Module)++".mnesia"),
+ case file:consult(File) of
+ {ok, Terms} -> parse(Terms, []);
+ Error -> Error
+ end
end.
parse([], Acc) ->