diff options
author | Jerry Kuch <jerryk@vmware.com> | 2011-03-07 13:20:49 -0800 |
---|---|---|
committer | Jerry Kuch <jerryk@vmware.com> | 2011-03-07 13:20:49 -0800 |
commit | 8b3605eca1a291a28a5cd4ffee5192d5d22aad9d (patch) | |
tree | 7e90401ff6300bde353044e9a0d9eef615b7dac2 | |
parent | 7439b16751f6162a96c63941c3e9b22fe7ca84ef (diff) | |
download | rabbitmq-server-8b3605eca1a291a28a5cd4ffee5192d5d22aad9d.tar.gz |
Fix asymmetry/impedance mismatch in q_peek and q_pop.
-rw-r--r-- | src/rabbit_mysql_queue.erl | 22 |
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. |