diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2011-06-02 18:03:46 +0100 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2011-06-02 18:03:46 +0100 |
| commit | 09da939e7c4dd3f6c145e02c6cf05551ae697f40 (patch) | |
| tree | 9dfeb1cae86773fc00bda0537287a694f4dcc0ac | |
| parent | 66d5c4711c21a35dafe0f2127800e2d85839c8d6 (diff) | |
| download | rabbitmq-server-git-09da939e7c4dd3f6c145e02c6cf05551ae697f40.tar.gz | |
Oops, we don't map true/false to transaction/none on recover. Let's fix that here...
| -rw-r--r-- | src/rabbit_exchange.erl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index b9b0203ee7..cab1b99f6f 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -94,7 +94,7 @@ recover() -> true -> store(X); false -> ok end, - rabbit_exchange:callback(X, create, [Tx, X]) + rabbit_exchange:callback(X, create, [map_create_tx(Tx), X]) end, rabbit_durable_exchange), [XName || #exchange{name = XName} <- Xs]. @@ -128,10 +128,7 @@ declare(XName, Type, Durable, AutoDelete, Internal, Args) -> end end, fun ({new, Exchange}, Tx) -> - ok = XT:create(case Tx of - true -> transaction; - false -> none - end, Exchange), + ok = XT:create(map_create_tx(Tx), Exchange), rabbit_event:notify_if(not Tx, exchange_created, info(Exchange)), Exchange; ({existing, Exchange}, _Tx) -> @@ -140,6 +137,9 @@ declare(XName, Type, Durable, AutoDelete, Internal, Args) -> Err end). +map_create_tx(true) -> transaction; +map_create_tx(false) -> none. + store(X = #exchange{name = Name, type = Type}) -> ok = mnesia:write(rabbit_exchange, X, write), case (type_to_module(Type)):serialise_events() of |
