on dev help sign in
make field invocation an explicit function
commit68a7cbe4f3d9b908925dd50ae7ef704d90faa328 authorEitan Chatav <eitan.chatav@gmail.com> dateFri 31 Aug 2018, 17:44 (8 years ago) parentf5185c9
2 files changed+11−9
squeal-postgresql/src/Squeal/PostgreSQL/Definition.hs+2−2 squeal-postgresql/src/Squeal/PostgreSQL/Expression.hs+9−7
squeal-postgresql/src/Squeal/PostgreSQL/Definition.hs+2−2
@@ -896,8 +896,8 @@ createTypeComposite ty fields = UnsafeDefinition $
896896 (renderCommaSeparated renderField fields) <> ";"
897897 where
898898 renderField :: Aliased (TypeExpression schema) x -> ByteString
899− renderField (typ `As` field) =
900− renderAlias field <+> renderTypeExpression typ
899+ renderField (typ `As` alias) =
900+ renderAlias alias <+> renderTypeExpression typ
901901
902902-- | Composite types can also be generated from a Haskell type, for example
903903--
squeal-postgresql/src/Squeal/PostgreSQL/Expression.hs+9−7
@@ -46,6 +46,7 @@ module Squeal.PostgreSQL.Expression
4646 -- ** Collections
4747 , array
4848 , row
49+ , field
4950 -- ** Functions
5051 , unsafeBinaryOp
5152 , unsafeUnaryOp
@@ -354,7 +355,7 @@ null_ = UnsafeExpression "NULL"
354355
355356-- | analagous to `Just`
356357--
357−-- >>> printSQL $ true
358+-- >>> printSQL $ notNull true
358359-- TRUE
359360notNull
360361 :: Expression schema rels grouping params ('NotNull ty)
@@ -467,12 +468,13 @@ row
467468row exprs = UnsafeExpression $ "ROW" <> parenthesized
468469 (renderCommaSeparated (\ (expr `As` _) -> renderExpression expr) exprs)
469470
470−instance Has field fields ty => IsLabel field
471− ( Expression schema relation grouping params ('NotNull ('PGcomposite fields))
472− -> Expression schema relation grouping params ty ) where
473− fromLabel expr = UnsafeExpression $
474− parenthesized (renderExpression expr) <> "." <>
475− renderSymbol @field
471+field
472+ :: forall field fields ty schema from grouping params. Has field fields ty
473+ => Expression schema from grouping params ('NotNull ('PGcomposite fields))
474+ -> Expression schema from grouping params ty
475+field expr = UnsafeExpression $
476+ parenthesized (renderExpression expr) <> "." <>
477+ renderSymbol @field
476478
477479instance Semigroup
478480 (Expression schema from grouping params (nullity ('PGvararray ty))) where