| Safe Haskell | Safe-Inferred | 
|---|---|
| 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
| ProductProfunctor NullMaker Source # | |
| 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 #  | |
| Default NullMaker (Field a) (FieldNullable a) Source # | |
Defined in Opaleye.Internal.Join Methods def :: NullMaker (Field a) (FieldNullable a) #  | |
| Default NullMaker (FieldNullable a) (FieldNullable a) Source # | |
Defined in Opaleye.Internal.Join Methods def :: NullMaker (FieldNullable a) (FieldNullable a) #  | |
| Applicative (NullMaker a) Source # | |
Defined in Opaleye.Internal.Join  | |
| Functor (NullMaker a) Source # | |
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.