| Copyright | 2013 Kei Hibino | 
|---|---|
| License | BSD3 | 
| Maintainer | [email protected] | 
| Stability | experimental | 
| Portability | unknown | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Database.Relational.Query.Monad.Trans.Restricting
Description
This module defines monad transformer which lift to basic MonadQuery.
- data Restrictings c m a
- restrictings :: Monad m => m a -> Restrictings c m a
- extractRestrict :: (Monad m, Functor m) => Restrictings c m a -> m (a, QueryRestriction c)
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 q m => MonadQualify q (Restrictings c m) Source # | Restricted  | 
| (Monad q, Functor q) => MonadRestrict c (Restrictings c q) Source # | 
 | 
| MonadTrans (Restrictings c) Source # | |
| Monad m => Monad (Restrictings c m) Source # | |
| Functor m => Functor (Restrictings c m) Source # | |
| Applicative m => Applicative (Restrictings c m) Source # | |
| MonadAggregate m => MonadAggregate (Restrictings c m) Source # | Resticted  | 
| MonadQuery q => MonadQuery (Restrictings c q) Source # | Restricted  | 
restrictings :: Monad m => m a -> Restrictings c m a Source #
Lift to Restrictings
Result
extractRestrict :: (Monad m, Functor m) => Restrictings c m a -> m (a, QueryRestriction c) Source #
Run Restrictings to get QueryRestriction