| Portability | unknown | 
|---|---|
| Stability | experimental | 
| Maintainer | [email protected] | 
| Safe Haskell | None | 
Database.Relational.Query.Monad.Trans.Ordering
Description
This module defines monad transformer which lift from query into query with ordering.
- data Orderings c m a
- orderings :: Monad m => m a -> Orderings c m a
- type OrderedQuery c m r = Orderings c m (Projection c r)
- type OrderingTerms = [OrderingTerm]
- orderBy :: (Monad m, ProjectableOrdering (Projection c)) => Projection c t -> Order -> Orderings c m ()
- asc :: (Monad m, ProjectableOrdering (Projection c)) => Projection c t -> Orderings c m ()
- desc :: (Monad m, ProjectableOrdering (Projection c)) => Projection c t -> Orderings c m ()
- extractOrderingTerms :: (Monad m, Functor m) => Orderings c m a -> m (a, OrderingTerms)
Transformer into query with ordering
Type to accumulate ordering context.
   Type c is ordering term projection context type.
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  | 
| MonadRestrict rc m => MonadRestrict rc (Orderings c m) | 
 | 
| MonadTrans (Orderings c) | |
| Monad m => Monad (Orderings c m) | |
| Functor m => Functor (Orderings c m) | |
| Applicative m => Applicative (Orderings c m) | |
| MonadPartition m => MonadPartition (Orderings c m) | 
 | 
| MonadAggregate m => MonadAggregate (Orderings c m) | 
 | 
| MonadQuery m => MonadQuery (Orderings c m) | 
 | 
type OrderedQuery c m r = Orderings c m (Projection c r)Source
OrderedQuery type synonym. Projection must be the same as Orderings type parameter p
type OrderingTerms = [OrderingTerm]Source
Type for order-by terms
API of query with ordering
Arguments
| :: (Monad m, ProjectableOrdering (Projection c)) | |
| => Projection c t | Ordering terms to add | 
| -> Order | Order direction | 
| -> Orderings c m () | Result context with ordering | 
Add ordering terms.
Arguments
| :: (Monad m, ProjectableOrdering (Projection c)) | |
| => Projection c t | Ordering terms to add | 
| -> Orderings c m () | Result context with ordering | 
Add ascendant ordering term.
Arguments
| :: (Monad m, ProjectableOrdering (Projection c)) | |
| => Projection c t | Ordering terms to add | 
| -> Orderings c m () | Result context with ordering | 
Add descendant ordering term.
Result
extractOrderingTerms :: (Monad m, Functor m) => Orderings c m a -> m (a, OrderingTerms)Source
Run Orderings to get OrderingTerms