diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_mnesia.erl | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index a62e7a6f47..65404aae51 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -34,7 +34,8 @@ -export([ensure_mnesia_dir/0, dir/0, status/0, init/0, is_db_empty/0, cluster/1, force_cluster/1, reset/0, force_reset/0, - is_clustered/0, empty_ram_only_tables/0, copy_db/1]). + is_clustered/0, empty_ram_only_tables/0, copy_db/1, + add_table_definition/1]). -export([table_names/0]). @@ -210,7 +211,18 @@ table_definitions() -> {rabbit_queue, [{record_name, amqqueue}, {attributes, record_info(fields, amqqueue)}, - {match, #amqqueue{name = queue_name_match(), _='_'}}]}]. + {match, #amqqueue{name = queue_name_match(), _='_'}}]}] + ++ plugin_table_definitions(). + +add_table_definition(Def) -> + ok = application:set_env(rabbit, plugin_mnesia_tables, + [Def | plugin_table_definitions()], infinity). + +plugin_table_definitions() -> + case application:get_env(rabbit, plugin_mnesia_tables) of + {ok, Defs} -> Defs; + undefined -> [] + end. binding_match() -> #binding{source = exchange_name_match(), |
