add support for rowctor without row, e.g. (1,2)
This commit is contained in:
parent
89a4dd0e3e
commit
e03090a6a1
|
@ -302,10 +302,14 @@ that SQL supports.
|
|||
> <$ try (keyword_ "character" <* keyword_ "varying")
|
||||
> ,TypeName <$> identifierString]
|
||||
|
||||
== scalar parens
|
||||
== scalar parens and row ctor
|
||||
|
||||
> sparens :: P ScalarExpr
|
||||
> sparens = Parens <$> parens scalarExpr'
|
||||
> sparens =
|
||||
> ctor <$> parens (commaSep1 scalarExpr')
|
||||
> where
|
||||
> ctor [a] = Parens a
|
||||
> ctor as = SpecialOp (Name "rowctor") as
|
||||
|
||||
|
||||
== operator parsing
|
||||
|
|
|
@ -80,6 +80,9 @@
|
|||
> <+> text "for"
|
||||
> <+> scalarExpr e)
|
||||
|
||||
> scalarExpr (SpecialOp (Name "rowctor") as) =
|
||||
> parens $ commaSep $ map scalarExpr as
|
||||
|
||||
> scalarExpr (SpecialOp nm es) =
|
||||
> name nm <+> parens (commaSep $ map scalarExpr es)
|
||||
|
||||
|
|
|
@ -203,6 +203,9 @@ Tests for parsing scalar expressions
|
|||
> ,("substring(x from 1 for 2)"
|
||||
> ,SpecialOp "substring" [Iden "x", NumLit "1", NumLit "2"])
|
||||
|
||||
> ,("(1,2)"
|
||||
> ,SpecialOp "rowctor" [NumLit "1", NumLit "2"])
|
||||
|
||||
> ]
|
||||
|
||||
> aggregates :: TestItem
|
||||
|
|
Loading…
Reference in a new issue