summaryrefslogtreecommitdiff
path: root/src/rabbit_table.erl
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-09-17 11:13:30 +0100
committerSimon MacMullen <simon@rabbitmq.com>2014-09-17 11:13:30 +0100
commit8b568a8ea5812df577c0af2901081c63abe47d96 (patch)
tree31f5f3bf630295d04b17a0c1b4a7fe6212d59525 /src/rabbit_table.erl
parent8faf835e65520045bb67538b86e4660db804dde3 (diff)
parentce22572cfc40fe84742f64e1d4720b4d9c06e05a (diff)
downloadrabbitmq-server-8b568a8ea5812df577c0af2901081c63abe47d96.tar.gz
Merge bug26370
Diffstat (limited to 'src/rabbit_table.erl')
-rw-r--r--src/rabbit_table.erl11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/rabbit_table.erl b/src/rabbit_table.erl
index fe2c3b58..41bf9585 100644
--- a/src/rabbit_table.erl
+++ b/src/rabbit_table.erl
@@ -17,7 +17,7 @@
-module(rabbit_table).
-export([create/0, create_local_copy/1, wait_for_replicated/0, wait/1,
- force_load/0, is_present/0, is_empty/0,
+ force_load/0, is_present/0, is_empty/0, needs_default_data/0,
check_schema_integrity/0, clear_ram_only_tables/0]).
-include("rabbit.hrl").
@@ -33,6 +33,7 @@
-spec(force_load/0 :: () -> 'ok').
-spec(is_present/0 :: () -> boolean()).
-spec(is_empty/0 :: () -> boolean()).
+-spec(needs_default_data/0 :: () -> boolean()).
-spec(check_schema_integrity/0 :: () -> rabbit_types:ok_or_error(any())).
-spec(clear_ram_only_tables/0 :: () -> 'ok').
@@ -89,9 +90,13 @@ force_load() -> [mnesia:force_load_table(T) || T <- names()], ok.
is_present() -> names() -- mnesia:system_info(tables) =:= [].
-is_empty() ->
+is_empty() -> is_empty(names()).
+needs_default_data() -> is_empty([rabbit_user, rabbit_user_permission,
+ rabbit_vhost]).
+
+is_empty(Names) ->
lists:all(fun (Tab) -> mnesia:dirty_first(Tab) == '$end_of_table' end,
- names()).
+ Names).
check_schema_integrity() ->
Tables = mnesia:system_info(tables),