relational-query-0.9.2.1: Typeful, Modular, Relational, algebraic query engine

Copyright2013-2017 Kei Hibino
LicenseBSD3
Maintainerex8k.hibino@gmail.com
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Database.Relational.Query.Monad.Trans.Join

Contents

Description

This module defines monad transformer which lift to basic MonadQuery.

Synopsis

Transformer into join query

data QueryJoin m a Source #

StateT type to accumulate join product context.

Instances

MonadTrans QueryJoin Source # 

Methods

lift :: Monad m => m a -> QueryJoin m a #

MonadQualify q m => MonadQualify q (QueryJoin m) Source # 

Methods

liftQualify :: q a -> QueryJoin m a Source #

Monad m => Monad (QueryJoin m) Source # 

Methods

(>>=) :: QueryJoin m a -> (a -> QueryJoin m b) -> QueryJoin m b #

(>>) :: QueryJoin m a -> QueryJoin m b -> QueryJoin m b #

return :: a -> QueryJoin m a #

fail :: String -> QueryJoin m a #

Functor m => Functor (QueryJoin m) Source # 

Methods

fmap :: (a -> b) -> QueryJoin m a -> QueryJoin m b #

(<$) :: a -> QueryJoin m b -> QueryJoin m a #

Monad m => Applicative (QueryJoin m) Source # 

Methods

pure :: a -> QueryJoin m a #

(<*>) :: QueryJoin m (a -> b) -> QueryJoin m a -> QueryJoin m b #

(*>) :: QueryJoin m a -> QueryJoin m b -> QueryJoin m b #

(<*) :: QueryJoin m a -> QueryJoin m b -> QueryJoin m a #

MonadQuery (QueryJoin ConfigureQuery) Source #

Joinable query instance.

join' :: Monad m => m a -> QueryJoin m a Source #

Lift to QueryJoin

Result

extractProduct :: Functor m => QueryJoin m a -> m ((a, JoinProduct), Duplication) Source #

Unsafe API

unsafeSubQueryWithAttr Source #

Arguments

:: Monad q 
=> NodeAttr

Attribute maybe or just

-> Qualified SubQuery

SubQuery to join

-> QueryJoin q (Projection c r)

Result joined context and SubQuery result projection.

Unsafely join sub-query with this query.