@@ -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