aboutsummaryrefslogtreecommitdiff
path: root/src/gen_storage.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/gen_storage.erl')
-rw-r--r--src/gen_storage.erl9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gen_storage.erl b/src/gen_storage.erl
index 033a14561..a34cb285b 100644
--- a/src/gen_storage.erl
+++ b/src/gen_storage.erl
@@ -600,13 +600,16 @@ get_table(Host, Tab) ->
case {mnesia:dirty_read(table, {Host, Tab}), Host} of
{[T], _} ->
T;
+ {_, Host} when is_binary(Host) ->
+ Prefix = lists:nth(1, string:tokens(binary_to_list(Host), ".")),
+ get_table({global, Prefix}, Tab);
+ {_, {global, _Prefix}} ->
+ get_table(global, Tab);
{_, global} ->
catch throw(error123),
Stacktrace = erlang:get_stacktrace(),
error_logger:error_msg("gen_storage: Table ~p not found on ~p~nStacktrace: ~p", [Tab, Host, Stacktrace]),
- exit(table_not_found);
- {_, _} ->
- get_table(global, Tab)
+ exit(table_not_found)
end.
backend_apply(F, Host, Tab) ->