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")
|
> <$ try (keyword_ "character" <* keyword_ "varying")
|
||||||
> ,TypeName <$> identifierString]
|
> ,TypeName <$> identifierString]
|
||||||
|
|
||||||
== scalar parens
|
== scalar parens and row ctor
|
||||||
|
|
||||||
> sparens :: P ScalarExpr
|
> 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
|
== operator parsing
|
||||||
|
|
|
@ -80,6 +80,9 @@
|
||||||
> <+> text "for"
|
> <+> text "for"
|
||||||
> <+> scalarExpr e)
|
> <+> scalarExpr e)
|
||||||
|
|
||||||
|
> scalarExpr (SpecialOp (Name "rowctor") as) =
|
||||||
|
> parens $ commaSep $ map scalarExpr as
|
||||||
|
|
||||||
> scalarExpr (SpecialOp nm es) =
|
> scalarExpr (SpecialOp nm es) =
|
||||||
> name nm <+> parens (commaSep $ map scalarExpr es)
|
> name nm <+> parens (commaSep $ map scalarExpr es)
|
||||||
|
|
||||||
|
|
|
@ -203,6 +203,9 @@ Tests for parsing scalar expressions
|
||||||
> ,("substring(x from 1 for 2)"
|
> ,("substring(x from 1 for 2)"
|
||||||
> ,SpecialOp "substring" [Iden "x", NumLit "1", NumLit "2"])
|
> ,SpecialOp "substring" [Iden "x", NumLit "1", NumLit "2"])
|
||||||
|
|
||||||
|
> ,("(1,2)"
|
||||||
|
> ,SpecialOp "rowctor" [NumLit "1", NumLit "2"])
|
||||||
|
|
||||||
> ]
|
> ]
|
||||||
|
|
||||||
> aggregates :: TestItem
|
> aggregates :: TestItem
|
||||||
|
|
Loading…
Reference in a new issue