diff options
| author | Diana Corbacho <diana@rabbitmq.com> | 2017-01-10 09:02:09 +0100 |
|---|---|---|
| committer | Diana Corbacho <diana@rabbitmq.com> | 2017-01-15 20:25:37 +0000 |
| commit | 3d7e53723c3855d1e874be8a32f3258347d95518 (patch) | |
| tree | 28c3e3c517c3c2c1c927bb53b923be98223e8dbb | |
| parent | dd92f155047a9f2d0c312287ef3711a2e5c7525f (diff) | |
| download | rabbitmq-server-git-3d7e53723c3855d1e874be8a32f3258347d95518.tar.gz | |
Include options map in queue and exchange records
| -rw-r--r-- | src/rabbit_upgrade_functions.erl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/rabbit_upgrade_functions.erl b/src/rabbit_upgrade_functions.erl index c2a1e49b32..0dcf84af6e 100644 --- a/src/rabbit_upgrade_functions.erl +++ b/src/rabbit_upgrade_functions.erl @@ -59,6 +59,8 @@ -rabbit_upgrade({vhost_limits, mnesia, []}). -rabbit_upgrade({queue_vhost_field, mnesia, [operator_policies]}). -rabbit_upgrade({topic_permission, mnesia, []}). +-rabbit_upgrade({queue_options, mnesia, [queue_vhost_field]}). +-rabbit_upgrade({exchange_options, mnesia, [operator_policies]}). %% ------------------------------------------------------------------- @@ -95,6 +97,8 @@ -spec vhost_limits() -> 'ok'. -spec operator_policies() -> 'ok'. -spec queue_vhost_field() -> 'ok'. +-spec queue_options() -> 'ok'. +-spec exchange_options() -> 'ok'. %%-------------------------------------------------------------------- @@ -553,6 +557,25 @@ queue_vhost_field(Table) -> sync_slave_pids, recoverable_slaves, policy, operator_policy, gm_pids, decorators, state, policy_version, slave_pids_pending_shutdown, vhost]). +queue_options() -> + ok = queue_options(rabbit_queue), + ok = queue_options(rabbit_durable_queue), + ok. + +queue_options(Table) -> + transform( + Table, + fun ({amqqueue, Name, Durable, AutoDelete, ExclusiveOwner, Arguments, + Pid, SlavePids, SyncSlavePids, DSN, Policy, OperatorPolicy, GmPids, Decorators, + State, PolicyVersion, SlavePidsPendingShutdown, VHost}) -> + {amqqueue, Name, Durable, AutoDelete, ExclusiveOwner, Arguments, + Pid, SlavePids, SyncSlavePids, DSN, Policy, OperatorPolicy, GmPids, Decorators, + State, PolicyVersion, SlavePidsPendingShutdown, VHost, #{}} + end, + [name, durable, auto_delete, exclusive_owner, arguments, pid, slave_pids, + sync_slave_pids, recoverable_slaves, policy, operator_policy, + gm_pids, decorators, state, policy_version, slave_pids_pending_shutdown, vhost, options]). + %% Prior to 3.6.0, passwords were hashed using MD5, this populates %% existing records with said default. Users created with 3.6.0+ will %% have internal_user.hashing_algorithm populated by the internal @@ -571,6 +594,21 @@ topic_permission() -> {attributes, [topic_permission_key, pattern]}, {disc_copies, [node()]}]). +exchange_options() -> + ok = exchange_options(rabbit_exchange), + ok = exchange_options(rabbit_durable_exchange). + +exchange_options(Table) -> + transform( + Table, + fun ({exchange, Name, Type, Dur, AutoDel, Internal, + Args, Scratches, Policy, OperatorPolicy, Decorators}) -> + {exchange, Name, Type, Dur, AutoDel, Internal, + Args, Scratches, Policy, OperatorPolicy, Decorators, #{}} + end, + [name, type, durable, auto_delete, internal, arguments, scratches, policy, + operator_policy, decorators, options]). + %%-------------------------------------------------------------------- transform(TableName, Fun, FieldList) -> |
