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

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

Database.Relational.Query.Monad.Trans.Restricting

Contents

Description

This module defines monad transformer which lift to basic MonadQuery.

Synopsis

Transformer into restricted context

data Restrictings c m a Source

Type to accumulate query restrictions. Type c is context tag of restriction building like Flat (where) or Aggregated (having).

Instances

MonadQualify ConfigureQuery Restrict

Instance to lift from qualified table forms into Restrict.

MonadQualify q m => MonadQualify q (Restrictings c m)

Restricted MonadQualify instance.

(Monad q, Functor q) => MonadRestrict c (Restrictings c q)

MonadRestrict instance.

MonadRestrict Flat q => MonadRestrict Flat (Restrictings Aggregated q)

Restricted MonadRestrict instance.

MonadTrans (Restrictings c) 
Monad m => Monad (Restrictings c m) 
Functor m => Functor (Restrictings c m) 
Applicative m => Applicative (Restrictings c m) 
MonadAggregate m => MonadAggregate (Restrictings c m)

Resticted MonadAggregate instance.

MonadQuery q => MonadQuery (Restrictings c q)

Restricted MonadQuery instance.

restrictings :: Monad m => m a -> Restrictings c m a Source

Lift to Restrictings

Result