| Copyright | 2013-2019 Kei Hibino | 
|---|---|
| License | BSD3 | 
| Maintainer | ex8k.hibino@gmail.com | 
| Stability | experimental | 
| Portability | unknown | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Database.Relational.Monad.Trans.Join
Description
This module defines monad transformer which lift to basic MonadQuery.
Synopsis
- data QueryJoin m a
- join' :: Monad m => m a -> QueryJoin m a
- extractProduct :: Functor m => QueryJoin m a -> m ((a, JoinProduct), Duplication)
- unsafeSubQueryWithAttr :: MonadQualify ConfigureQuery q => NodeAttr -> Qualified SubQuery -> QueryJoin q (Record c r)
Transformer into join query
StateT type to accumulate join product context.
Instances
| MonadTrans QueryJoin Source # | |
| Defined in Database.Relational.Monad.Trans.Join | |
| MonadQualify q m => MonadQualify q (QueryJoin m) Source # | |
| Defined in Database.Relational.Monad.Trans.Join Methods liftQualify :: q a -> QueryJoin m a Source # | |
| Monad m => Monad (QueryJoin m) Source # | |
| Functor m => Functor (QueryJoin m) Source # | |
| Monad m => Applicative (QueryJoin m) Source # | |
| Defined in Database.Relational.Monad.Trans.Join | |
| MonadQuery (QueryJoin ConfigureQuery) Source # | Joinable query instance. | 
| Defined in Database.Relational.Monad.Trans.Join Methods setDuplication :: Duplication -> QueryJoin ConfigureQuery () Source # restrictJoin :: Predicate Flat -> QueryJoin ConfigureQuery () Source # query' :: Relation p r -> QueryJoin ConfigureQuery (PlaceHolders p, Record Flat r) Source # queryMaybe' :: Relation p r -> QueryJoin ConfigureQuery (PlaceHolders p, Record Flat (Maybe r)) Source # | |
Result
extractProduct :: Functor m => QueryJoin m a -> m ((a, JoinProduct), Duplication) Source #
Run QueryJoin to get JoinProduct
Unsafe API
unsafeSubQueryWithAttr Source #
Arguments
| :: MonadQualify ConfigureQuery q | |
| => NodeAttr | Attribute maybe or just | 
| -> Qualified SubQuery | 
 | 
| -> QueryJoin q (Record c r) | Result joined context and record of  | 
Unsafely join sub-query with this query.