Copyright  2013 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, 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).
MonadQualify ConfigureQuery Restrict  Instance to lift from qualified table forms into 
MonadQualify ConfigureQuery QueryAggregate  Instance to lift from qualified table forms into 
MonadQualify ConfigureQuery (Assign r)  Instance to lift from qualified table forms into 
MonadQualify ConfigureQuery (Orderings Flat QueryCore)  Instance to lift from qualified table forms into 
(Monad q, Functor q) => MonadRestrict c (Restrictings c q) 

MonadRestrict Flat q => MonadRestrict Flat (Restrictings Aggregated q)  Restricted 
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 
MonadQuery q => MonadQuery (Restrictings c q)  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