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

Portabilityunknown
Stabilityexperimental
Maintainerex8k.hibino@gmail.com
Safe HaskellNone

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 aSource

Lift to Restrictings

Result