Allow using nulls order without explicit order direction, fix #552

This commit is contained in:
SteveBash
2016-10-04 16:11:19 -05:00
parent 9b7685e5d1
commit 50ae48295d
5 changed files with 19 additions and 6 deletions
+5 -4
View File
@@ -137,13 +137,14 @@ pOrderTerm :: Parser OrderTerm
pOrderTerm =
try ( do
c <- pFieldName
_ <- pDelimiter
d <- (string "asc" *> pure OrderAsc)
<|> (string "desc" *> pure OrderDesc)
d <- optionMaybe (try $ pDelimiter *> (
try(string "asc" *> pure OrderAsc)
<|> try(string "desc" *> pure OrderDesc)
))
nls <- optionMaybe (pDelimiter *> (
try(string "nullslast" *> pure OrderNullsLast)
<|> try(string "nullsfirst" *> pure OrderNullsFirst)
))
return $ OrderTerm c d nls
)
<|> OrderTerm <$> (toS <$> pFieldName) <*> pure OrderAsc <*> pure Nothing
<|> OrderTerm <$> (toS <$> pFieldName) <*> pure Nothing <*> pure Nothing
+1 -1
View File
@@ -307,7 +307,7 @@ requestToQuery schema isParent (DbRead (Node (Select colSelects tbls conditions
queryTerm :: OrderTerm -> Text
queryTerm t = " "
<> toS (pgFmtColumn qi $ otTerm t) <> " "
<> show (otDirection t) <> " "
<> maybe "" show (otDirection t) <> " "
<> maybe "" show (otNullOrder t) <> " "
(joins, selects) = foldr getQueryParts ([],[]) forest
+1 -1
View File
@@ -78,7 +78,7 @@ instance Show OrderNulls where
data OrderTerm = OrderTerm {
otTerm :: Text
, otDirection :: OrderDirection
, otDirection :: Maybe OrderDirection
, otNullOrder :: Maybe OrderNulls
} deriving (Show, Eq)