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

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

Database.Relational.Monad.Trans.Assigning

Contents

Description

This module defines monad transformer which lift from context into context with assigning.

Synopsis

Transformer into context with assignments

data Assignings r m a Source #

Type to accumulate assigning context. Type r is table record type.

Instances

MonadQualify q m => MonadQualify q (Assignings r m) Source #

MonadQualify with assigning.

Methods

liftQualify :: q a -> Assignings r m a Source #

MonadRestrict c m => MonadRestrict c (Assignings r m) Source #

MonadRestrict with assigning.

Methods

restrict :: Predicate c -> Assignings r m () Source #

MonadTrans (Assignings r) Source # 

Methods

lift :: Monad m => m a -> Assignings r m a #

Monad m => Monad (Assignings r m) Source # 

Methods

(>>=) :: Assignings r m a -> (a -> Assignings r m b) -> Assignings r m b #

(>>) :: Assignings r m a -> Assignings r m b -> Assignings r m b #

return :: a -> Assignings r m a #

fail :: String -> Assignings r m a #

Functor m => Functor (Assignings r m) Source # 

Methods

fmap :: (a -> b) -> Assignings r m a -> Assignings r m b #

(<$) :: a -> Assignings r m b -> Assignings r m a #

Applicative m => Applicative (Assignings r m) Source # 

Methods

pure :: a -> Assignings r m a #

(<*>) :: Assignings r m (a -> b) -> Assignings r m a -> Assignings r m b #

liftA2 :: (a -> b -> c) -> Assignings r m a -> Assignings r m b -> Assignings r m c #

(*>) :: Assignings r m a -> Assignings r m b -> Assignings r m b #

(<*) :: Assignings r m a -> Assignings r m b -> Assignings r m a #

assignings :: Monad m => m a -> Assignings r m a Source #

Lift to Assignings

API of context with assignments

assignTo :: Monad m => Record Flat v -> AssignTarget r v -> Assignings r m () Source #

Add an assignment.

(<-#) :: Monad m => AssignTarget r v -> Record Flat v -> Assignings r m () infix 4 Source #

Add and assginment.

type AssignTarget r v = Pi r v Source #

Target of assignment.

Result SQL set clause

extractAssignments :: (Monad m, Functor m) => Assignings r m a -> m (a, Table r -> [Assignment]) Source #

Run Assignings to get Assignments