Safe Haskell | None |
---|---|
Language | Haskell2010 |
Opaleye.Internal.Join
Synopsis
- newtype NullMaker a b = NullMaker (a -> b)
- toNullable :: NullMaker a b -> a -> b
- joinExplicit :: Unpackspec columnsA columnsA -> Unpackspec columnsB columnsB -> (columnsA -> returnedColumnsA) -> (columnsB -> returnedColumnsB) -> JoinType -> Query columnsA -> Query columnsB -> ((columnsA, columnsB) -> Field PGBool) -> Query (returnedColumnsA, returnedColumnsB)
- leftJoinAExplicit :: Unpackspec a a -> NullMaker a nullableA -> Query a -> QueryArr (a -> Field PGBool) nullableA
- optionalRestrict :: Default Unpackspec a a => Select a -> SelectArr (a -> Field SqlBool) (MaybeFields a)
- optionalRestrictExplicit :: Unpackspec a a -> Select a -> SelectArr (a -> Field SqlBool) (MaybeFields a)
- leftJoinInTermsOfOptionalRestrict :: Default Unpackspec fieldsR fieldsR => Select fieldsL -> Select fieldsR -> ((fieldsL, fieldsR) -> Field SqlBool) -> Select (fieldsL, MaybeFields fieldsR)
- extractLeftJoinFields :: Int -> Tag -> PrimExpr -> PM [(Symbol, PrimExpr)] PrimExpr
Documentation
newtype NullMaker a b Source #
Constructors
NullMaker (a -> b) |
Instances
Profunctor NullMaker Source # | |
Defined in Opaleye.Internal.Join Methods dimap :: (a -> b) -> (c -> d) -> NullMaker b c -> NullMaker a d # lmap :: (a -> b) -> NullMaker b c -> NullMaker a c # rmap :: (b -> c) -> NullMaker a b -> NullMaker a c # (#.) :: forall a b c q. Coercible c b => q b c -> NullMaker a b -> NullMaker a c # (.#) :: forall a b c q. Coercible b a => NullMaker b c -> q a b -> NullMaker a c # | |
ProductProfunctor NullMaker Source # | |
Default NullMaker (FieldNullable a) (FieldNullable a) Source # | |
Defined in Opaleye.Internal.Join Methods def :: NullMaker (FieldNullable a) (FieldNullable a) # | |
Default NullMaker (Field a) (FieldNullable a) Source # | |
Defined in Opaleye.Internal.Join Methods def :: NullMaker (Field a) (FieldNullable a) # | |
Functor (NullMaker a) Source # | |
Applicative (NullMaker a) Source # | |
Defined in Opaleye.Internal.Join |
toNullable :: NullMaker a b -> a -> b Source #
joinExplicit :: Unpackspec columnsA columnsA -> Unpackspec columnsB columnsB -> (columnsA -> returnedColumnsA) -> (columnsB -> returnedColumnsB) -> JoinType -> Query columnsA -> Query columnsB -> ((columnsA, columnsB) -> Field PGBool) -> Query (returnedColumnsA, returnedColumnsB) Source #
leftJoinAExplicit :: Unpackspec a a -> NullMaker a nullableA -> Query a -> QueryArr (a -> Field PGBool) nullableA Source #
optionalRestrict :: Default Unpackspec a a => Select a -> SelectArr (a -> Field SqlBool) (MaybeFields a) Source #
optionalRestrictExplicit :: Unpackspec a a -> Select a -> SelectArr (a -> Field SqlBool) (MaybeFields a) Source #
leftJoinInTermsOfOptionalRestrict :: Default Unpackspec fieldsR fieldsR => Select fieldsL -> Select fieldsR -> ((fieldsL, fieldsR) -> Field SqlBool) -> Select (fieldsL, MaybeFields fieldsR) Source #
An example to demonstrate how the functionality of LEFT JOIN
can be recovered using optionalRestrict
.