Greater type safety for OrderTerm

This commit is contained in:
Joe Nelson
2015-11-19 11:21:27 -08:00
parent f3d5759c1a
commit b6a58935f3
3 changed files with 28 additions and 10 deletions
+14 -2
View File
@@ -321,8 +321,20 @@ orderF ts =
queryTerm :: OrderTerm -> Text
queryTerm t = " "
<> cs (pgFmtIdent $ otTerm t) <> " "
<> cs (otDirection t) <> " "
<> maybe "" cs (otNullOrder t) <> " "
<> sqlOrderDirection (otDirection t) <> " "
<> maybe "" sqlOrderNulls (otNullOrder t) <> " "
sqlOrderDirection :: OrderDirection -> SqlFragment
sqlOrderDirection d =
case d of
OrderDesc -> "desc"
OrderAsc -> "asc"
sqlOrderNulls :: OrderNulls -> SqlFragment
sqlOrderNulls d =
case d of
OrderNullsFirst -> "nulls first"
OrderNullsLast -> "nulls last"
insertableValue :: JSON.Value -> SqlFragment
insertableValue JSON.Null = "null"