| Copyright | 2013-2019 Kei Hibino |
|---|---|
| License | BSD3 |
| Maintainer | [email protected] |
| Stability | experimental |
| Portability | unknown |
| Safe Haskell | Safe-Inferred |
| 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 => Applicative (QueryJoin m) Source # | |
Defined in Database.Relational.Monad.Trans.Join | |
| Functor m => Functor (QueryJoin m) Source # | |
| Monad m => Monad (QueryJoin m) Source # | |
| 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.