summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Kuch <jerryk@vmware.com>2011-03-07 13:20:49 -0800
committerJerry Kuch <jerryk@vmware.com>2011-03-07 13:20:49 -0800
commit8b3605eca1a291a28a5cd4ffee5192d5d22aad9d (patch)
tree7e90401ff6300bde353044e9a0d9eef615b7dac2
parent7439b16751f6162a96c63941c3e9b22fe7ca84ef (diff)
downloadrabbitmq-server-8b3605eca1a291a28a5cd4ffee5192d5d22aad9d.tar.gz
Fix asymmetry/impedance mismatch in q_peek and q_pop.
-rw-r--r--src/rabbit_mysql_queue.erl22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/rabbit_mysql_queue.erl b/src/rabbit_mysql_queue.erl
index 93ea5841..09ae28d2 100644
--- a/src/rabbit_mysql_queue.erl
+++ b/src/rabbit_mysql_queue.erl
@@ -760,16 +760,16 @@ internal_dropwhile(Pred, S) ->
-spec q_pop(s()) -> maybe(m()).
q_pop(#s { queue_name = DbQueueName }) ->
- Recs = mysql_helper:q_peek(DbQueueName),
- MList = emysql_util:as_record(Recs,
- q_record,
- record_info(fields,
- q_record)),
- case MList of
- [] -> nothing;
- [M] -> #q_record{ id = DbId } = M,
- mysql_helper:delete_from_q(DbQueueName, DbId),
- {just, M}
+ QRecs = mysql_helper:q_peek(DbQueueName),
+ QRecList = emysql_util:as_record(QRecs,
+ q_record,
+ record_info(fields,
+ q_record)),
+ case QRecList of
+ [] -> nothing;
+ [QRec] -> #q_record{ id = DbId, m = M } = QRec,
+ mysql_helper:delete_from_q(DbQueueName, DbId),
+ {just, binary_to_term(M)}
end.
%% q_peek returns the first msg, if any, from the Q table in MySQL.
@@ -784,7 +784,7 @@ q_peek(#s { queue_name = DbQueueName }) ->
q_record)),
case MList of
[] -> nothing;
- [M] -> {just, M}
+ [#q_record{m = M}] -> {just, binary_to_term(M)}
end.
%% post_pop operates after q_pop, calling add_p if necessary.