From: Bill Erickson <berick@esilibrary.com> Date: Tue, 7 Feb 2012 19:40:19 +0000 (-0500) Subject: Tpac (etc): improve payment history sorting/paging X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=6a1c6b68f9459b6ed87b0f1ceb7573aafc9bc8b7;p=evergreen%2Fmasslnc.git Tpac (etc): improve payment history sorting/paging Payments within a transaction will have the same timestamp. With a large enough set of such payments, sorting by timestamp alone when retrieving payments is not enough to guarantee unique pages of payments. This adds a secondary sort on payment ID as a tie-breaker. Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm index 627ee87bcc..3fa922c152 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm @@ -3710,11 +3710,18 @@ sub user_payments { } } }, - order_by => [{ # by default, order newest payments first - class => 'mp', - field => 'payment_ts', - direction => 'desc' - }] + order_by => [ + { # by default, order newest payments first + class => 'mp', + field => 'payment_ts', + direction => 'desc' + }, { + # secondary sort in ID as a tie-breaker, since payments created + # within the same transaction will have identical payment_ts's + class => 'mp', + field => 'id' + } + ] }; for (qw/order_by limit offset/) {