relational-query-0.5.0.3: 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 ConfigureQuery QueryAggregate

Instance to lift from qualified table forms into QueryAggregate.

MonadQualify ConfigureQuery (Assign r)

Instance to lift from qualified table forms into Restrict.

MonadQualify ConfigureQuery (Orderings Flat QueryCore)

Instance to lift from qualified table forms into QuerySimple.

(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