graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellNone
LanguageHaskell2010

Hasura.RQL.IR.BoolExp.AggregationPredicates

Description

This module contains the default types and function that model aggregation predicates.

Synopsis

Documentation

data AggregationPredicatesImplementation (b :: BackendType) field Source #

This type the default non-empty implementation of the AggregationPredicates type family of 'class Backend'.

This represents an _applied_ aggregation predicate, i.e. _not_ an aggegation function in isolation.

In the default schema implementation, this type results from parsing graphql such as:

table(_where( relation_aggregate: {functionname: { arguments: arguments, predicate: predicate, distinct: bool } } )) { ... }

Note that we make no attemt at modelling window functions or so-called analytical functions such as percentile_cont.

Instances

Instances details
Backend b => Functor (AggregationPredicatesImplementation b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Backend b => Foldable (AggregationPredicatesImplementation b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Backend b => Traversable (AggregationPredicatesImplementation b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

(Backend b, Eq (AggregationPredicate b field)) => Eq (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

(Backend b, Show (AggregationPredicate b field)) => Show (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Generic (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Associated Types

type Rep (AggregationPredicatesImplementation b field) :: Type -> Type #

(Backend b, NFData (AggregationPredicate b field)) => NFData (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Methods

rnf :: AggregationPredicatesImplementation b field -> () #

(Backend b, Hashable (AggregationPredicate b field)) => Hashable (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

(ToJSON (AnnBoolExp b field), ToJSON (AggregationPredicate b field), ToJSON (OpExpG b field), Backend b) => ToJSON (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

(Backend b, ToJSONKeyValue (AggregationPredicate b field)) => ToJSONKeyValue (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

(Backend b, Cacheable (AggregationPredicate b field)) => Cacheable (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

type Rep (AggregationPredicatesImplementation b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

type Rep (AggregationPredicatesImplementation b field) = D1 ('MetaData "AggregationPredicatesImplementation" "Hasura.RQL.IR.BoolExp.AggregationPredicates" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "AggregationPredicatesImplementation" 'PrefixI 'True) (S1 ('MetaSel ('Just "aggRelation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (RelInfo b)) :*: S1 ('MetaSel ('Just "aggPredicates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [AggregationPredicate b field])))

data AggregationPredicate (b :: BackendType) field Source #

Instances

Instances details
Backend b => Functor (AggregationPredicate b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Methods

fmap :: (a -> b0) -> AggregationPredicate b a -> AggregationPredicate b b0 #

(<$) :: a -> AggregationPredicate b b0 -> AggregationPredicate b a #

Backend b => Foldable (AggregationPredicate b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Methods

fold :: Monoid m => AggregationPredicate b m -> m #

foldMap :: Monoid m => (a -> m) -> AggregationPredicate b a -> m #

foldMap' :: Monoid m => (a -> m) -> AggregationPredicate b a -> m #

foldr :: (a -> b0 -> b0) -> b0 -> AggregationPredicate b a -> b0 #

foldr' :: (a -> b0 -> b0) -> b0 -> AggregationPredicate b a -> b0 #

foldl :: (b0 -> a -> b0) -> b0 -> AggregationPredicate b a -> b0 #

foldl' :: (b0 -> a -> b0) -> b0 -> AggregationPredicate b a -> b0 #

foldr1 :: (a -> a -> a) -> AggregationPredicate b a -> a #

foldl1 :: (a -> a -> a) -> AggregationPredicate b a -> a #

toList :: AggregationPredicate b a -> [a] #

null :: AggregationPredicate b a -> Bool #

length :: AggregationPredicate b a -> Int #

elem :: Eq a => a -> AggregationPredicate b a -> Bool #

maximum :: Ord a => AggregationPredicate b a -> a #

minimum :: Ord a => AggregationPredicate b a -> a #

sum :: Num a => AggregationPredicate b a -> a #

product :: Num a => AggregationPredicate b a -> a #

Backend b => Traversable (AggregationPredicate b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Methods

traverse :: Applicative f => (a -> f b0) -> AggregationPredicate b a -> f (AggregationPredicate b b0) #

sequenceA :: Applicative f => AggregationPredicate b (f a) -> f (AggregationPredicate b a) #

mapM :: Monad m => (a -> m b0) -> AggregationPredicate b a -> m (AggregationPredicate b b0) #

sequence :: Monad m => AggregationPredicate b (m a) -> m (AggregationPredicate b a) #

(Backend b, Eq (AnnBoolExp b field), Eq (OpExpG b field), Eq (AggregationPredicateArguments b)) => Eq (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

(Backend b, Show (AnnBoolExp b field), Show (OpExpG b field), Show (AggregationPredicateArguments b)) => Show (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Generic (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Associated Types

type Rep (AggregationPredicate b field) :: Type -> Type #

Methods

from :: AggregationPredicate b field -> Rep (AggregationPredicate b field) x #

to :: Rep (AggregationPredicate b field) x -> AggregationPredicate b field #

(Backend b, NFData (AggregationPredicateArguments b), NFData (AnnBoolExp b field), NFData (OpExpG b field)) => NFData (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Methods

rnf :: AggregationPredicate b field -> () #

(Backend b, Hashable (BooleanOperators b field), Hashable (AnnBoolExp b field), Hashable field) => Hashable (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

(ToJSON (AggregationPredicateArguments b), ToJSON (AnnBoolExp b field), ToJSONKeyValue (OpExpG b field)) => ToJSONKeyValue (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Methods

toJSONKeyValue :: AggregationPredicate b field -> (Key, Value) Source #

(Backend b, Cacheable (AggregationPredicateArguments b), Cacheable (AnnBoolExp b field), Cacheable (OpExpG b field)) => Cacheable (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

type Rep (AggregationPredicate b field) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

type Rep (AggregationPredicate b field) = D1 ('MetaData "AggregationPredicate" "Hasura.RQL.IR.BoolExp.AggregationPredicates" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "AggregationPredicate" 'PrefixI 'True) ((S1 ('MetaSel ('Just "aggPredFunctionName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "aggPredDistinct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "aggPredFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (AnnBoolExp b field))) :*: (S1 ('MetaSel ('Just "aggPredArguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (AggregationPredicateArguments b)) :*: S1 ('MetaSel ('Just "aggPredPredicate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [OpExpG b field])))))

data AggregationPredicateArguments (b :: BackendType) Source #

Instances

Instances details
Backend b => Eq (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Backend b => Show (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Generic (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Associated Types

type Rep (AggregationPredicateArguments b) :: Type -> Type #

Backend b => NFData (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Backend b => Hashable (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Backend b => ToJSON (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

Backend b => Cacheable (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

type Rep (AggregationPredicateArguments b) Source # 
Instance details

Defined in Hasura.RQL.IR.BoolExp.AggregationPredicates

type Rep (AggregationPredicateArguments b) = D1 ('MetaData "AggregationPredicateArguments" "Hasura.RQL.IR.BoolExp.AggregationPredicates" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "AggregationPredicateArgumentsStar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AggregationPredicateArguments" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty (Column b)))))