summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-05-17 12:28:39 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-05-17 12:28:39 +0100
commit26b59ab8d2e38fab17d45470d17091ced7afca2a (patch)
treeeb31bd323bc01fab7efa5bb34894d3e7d9e0ed6e
parent9e744ff212999ee6e4244504ffd4878334c7846a (diff)
downloadrabbitmq-server-26b59ab8d2e38fab17d45470d17091ced7afca2a.tar.gz
Add upgrade step to add the mirror pids to the queue
-rw-r--r--src/rabbit_upgrade_functions.erl15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/rabbit_upgrade_functions.erl b/src/rabbit_upgrade_functions.erl
index 31bbb929..325156b1 100644
--- a/src/rabbit_upgrade_functions.erl
+++ b/src/rabbit_upgrade_functions.erl
@@ -28,6 +28,7 @@
-rabbit_upgrade({topic_trie, mnesia, []}).
-rabbit_upgrade({semi_durable_route, mnesia, []}).
-rabbit_upgrade({exchange_event_serial, mnesia, []}).
+-rabbit_upgrade({mirror_pids, mnesia, []}).
%% -------------------------------------------------------------------
@@ -41,6 +42,7 @@
-spec(topic_trie/0 :: () -> 'ok').
-spec(exchange_event_serial/0 :: () -> 'ok').
-spec(semi_durable_route/0 :: () -> 'ok').
+-spec(mirror_pids/0 :: () -> 'ok').
-endif.
@@ -113,6 +115,19 @@ exchange_event_serial() ->
create(rabbit_exchange_serial, [{record_name, exchange_serial},
{attributes, [name, next]}]).
+mirror_pids() ->
+ Tables = [rabbit_queue, rabbit_durable_queue],
+ AddMirrorPidsFun =
+ fun ({amqqueue, Name, Durable, AutoDelete, Owner, Arguments, Pid}) ->
+ {amqqueue, Name, Durable, AutoDelete, Owner, Arguments, Pid, []}
+ end,
+ [ ok = transform(T,
+ AddMirrorPidsFun,
+ [name, durable, auto_delete, exclusive_owner, arguments,
+ pid, mirror_pids])
+ || T <- Tables ],
+ ok.
+
%%--------------------------------------------------------------------
transform(TableName, Fun, FieldList) ->