summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2008-09-21 17:32:24 +0100
committerBen Hood <0x6e6562@gmail.com>2008-09-21 17:32:24 +0100
commit7c81aaa3c0b99f2bc255ed82ad36c0e8f8e3f1e7 (patch)
tree102ee16df6b36def9546bbcd3226cd7b40ed6742
parent9f55ecc6934d340e53b557a9769f623f8f441992 (diff)
downloadrabbitmq-server-git-7c81aaa3c0b99f2bc255ed82ad36c0e8f8e3f1e7.tar.gz
delete_bindings should take a queue_name() rather than an amqqueue()
-rw-r--r--src/rabbit_amqqueue.erl4
-rw-r--r--src/rabbit_exchange.erl11
2 files changed, 8 insertions, 7 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 748503bdbb..df41a5c67d 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -248,8 +248,8 @@ internal_delete(QueueName) ->
end
end).
-delete_queue(Q = #amqqueue{name = QueueName}) ->
- ok = rabbit_exchange:delete_bindings(Q),
+delete_queue(#amqqueue{name = QueueName}) ->
+ ok = rabbit_exchange:delete_bindings(QueueName),
ok = mnesia:delete({amqqueue, QueueName}),
ok.
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index 63c7d7a113..2bcb9fb431 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -75,7 +75,7 @@
-spec(delete_binding/4 ::
(queue_name(), exchange_name(), routing_key(), amqp_table()) ->
bind_res() | {'error', 'binding_not_found'}).
--spec(delete_bindings/1 :: (amqqueue()) -> 'ok' | not_found()).
+-spec(delete_bindings/1 :: (queue_name()) -> 'ok' | not_found()).
-spec(topic_matches/2 :: (binary(), binary()) -> bool()).
-spec(delete/2 :: (exchange_name(), bool()) ->
'ok' | not_found() | {'error', 'in_use'}).
@@ -239,8 +239,8 @@ lookup_qpids(Queues) ->
% TODO: Should all of the route and binding management not be refactored to it's own module
% Especially seeing as unbind will have to be implemented for 0.91 ?
-delete_routes(#amqqueue{name = Name}) ->
- Binding = #binding{queue_name = Name, exchange_name = '_', key = '_'},
+delete_routes(QueueName) ->
+ Binding = #binding{queue_name = QueueName, exchange_name = '_', key = '_'},
{Route, ReverseRoute} = route_with_reverse(Binding),
ok = mnesia:delete_object(Route),
ok = mnesia:delete_object(ReverseRoute),
@@ -293,8 +293,9 @@ delete_binding(Binding) ->
maybe_auto_delete(X)
end).
-delete_bindings(Q = #amqqueue{}) ->
- delete_routes(Q).
+% TODO: Should the exported function not get renamed to delete_routes instead of this indirection?
+delete_bindings(QueueName) ->
+ delete_routes(QueueName).
%% Must run within a transaction.
maybe_auto_delete(#exchange{auto_delete = false}) ->