diff options
author | Christophe Romain <christophe.romain@process-one.net> | 2017-01-17 14:22:12 +0100 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2017-01-17 14:22:12 +0100 |
commit | 2ce6d49a400df569be1fc078b39d9393c7783ecd (patch) | |
tree | d256fd9ae286ca7d7641d6b8cb7c21ab669adc89 /src/ejabberd_mnesia.erl | |
parent | Avoid 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.erl | 22 |
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) -> |