From c52705b7e31d165a086ff139f01ae292c372b38e Mon Sep 17 00:00:00 2001 From: Tom Ellis Date: Thu, 1 Sep 2022 09:52:37 +0100 Subject: [PATCH] Added `ascNullsLast` and `descNullsFirst` Fixes https://github.com/tomjaguarpaw/haskell-opaleye/issues/560 --- CHANGELOG.md | 2 ++ src/Opaleye/Order.hs | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72e969d84..789d4f9f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ report it on [the issue tracker](https://github.com/tomjaguarpaw/haskell-opaleye/issues/new). +* Added `ascNullsLast` and `descNullsFirst`. + ## 0.9.3.3 * No externally visible changes diff --git a/src/Opaleye/Order.hs b/src/Opaleye/Order.hs index 6643d5156..ea9dcf8d2 100644 --- a/src/Opaleye/Order.hs +++ b/src/Opaleye/Order.hs @@ -77,6 +77,17 @@ ascNullsFirst :: SqlOrd b => (a -> F.Field_ n b) -> O.Order a ascNullsFirst = O.order HPQ.OrderOp { HPQ.orderDirection = HPQ.OpAsc , HPQ.orderNulls = HPQ.NullsFirst } +-- | Specify an ascending ordering by the given expression. +-- (Any NULLs appear last) +ascNullsLast :: SqlOrd b => (a -> F.Field_ n b) -> O.Order a +ascNullsLast = O.order HPQ.OrderOp { HPQ.orderDirection = HPQ.OpAsc + , HPQ.orderNulls = HPQ.NullsLast } + +-- | Specify an descending ordering by the given expression. +-- (Any NULLs appear first) +descNullsFirst :: SqlOrd b => (a -> F.Field_ n b) -> O.Order a +descNullsFirst = O.order HPQ.OrderOp { HPQ.orderDirection = HPQ.OpDesc + , HPQ.orderNulls = HPQ.NullsFirst } -- | Specify an descending ordering by the given expression. -- (Any NULLs appear last)