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.