| Portability | unknown |
|---|---|
| Stability | experimental |
| Maintainer | ex8k.hibino@gmail.com |
| Safe Haskell | None |
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 ConfigureQuery QueryAggregate | 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 aSource
Lift to Restrictings
Result
extractRestrict :: (Monad m, Functor m) => Restrictings c m a -> m (a, QueryRestriction c)Source
Run Restrictings to get QueryRestriction