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>
}
}
},
- 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/) {