Copyright  20142017 Kei Hibino 

License  BSD3 
Maintainer  ex8k.hibino@gmail.com 
Stability  experimental 
Portability  unknown 
Safe Haskell  None 
Language  Haskell2010 
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, [Predicate 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).
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, [Predicate c]) Source #
Run Restrictings
to get QueryRestriction