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

Hasura.Backends.DataConnector.IR.Expression

Synopsis

Documentation

data Expression Source #

A "concrete" expression type for datasource-agnostic queries (as opposed to our existing polymorphic intermediate representation).

This type should be seen as an intermediate phase of the processing pipeline which provides a high-level interface that the GraphQL Engine can use to inspect, manipulate, optimize, etc. before sending off to an agent that will be responsible for performing query generation/execution.

This type should ascribe clear semantics to its sub-expressions; when this is not possible, it should clearly defer to the semantics of some reference datasource with clearer documentation.

e.g. https://www.postgresql.org/docs/13/sql-expressions.html

Constructors

And [Expression]

A logical AND fold.

cf. https://www.postgresql.org/docs/13/functions-logical.html

Or [Expression]

A logical OR fold.

cf. https://www.postgresql.org/docs/13/functions-logical.html

Not Expression

A logical NOT function.

cf. https://www.postgresql.org/docs/13/functions-logical.html

ApplyBinaryComparisonOperator BinaryComparisonOperator ComparisonColumn ComparisonValue

Apply a BinaryComparisonOperator that compares a column to a ComparisonValue; the result of this application will return "true" or "false" depending on the BinaryComparisonOperator that's being applied.

ApplyBinaryArrayComparisonOperator BinaryArrayComparisonOperator ComparisonColumn [Value]

Apply a BinaryArrayComparisonOperator that evaluates a column with the BinaryArrayComparisonOperator against an array of ComparisonValues. The result of this application will return "true" or "false" depending on the BinaryArrayComparisonOperator that's being applied.

ApplyUnaryComparisonOperator UnaryComparisonOperator ComparisonColumn

Apply a UnaryComparisonOperator that evaluates a column with the UnaryComparisonOperator; the result of this application will return "true" or "false" depending on the UnaryComparisonOperator that's being applied.

Instances

Instances details
Eq Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Data Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Expression -> c Expression #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Expression #

toConstr :: Expression -> Constr #

dataTypeOf :: Expression -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Expression) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Expression) #

gmapT :: (forall b. Data b => b -> b) -> Expression -> Expression #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Expression -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Expression -> r #

gmapQ :: (forall d. Data d => d -> u) -> Expression -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Expression -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Expression -> m Expression #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Expression -> m Expression #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Expression -> m Expression #

Ord Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Show Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Generic Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Associated Types

type Rep Expression :: Type -> Type #

NFData Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

rnf :: Expression -> () #

Hashable Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

FromJSON Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

parseJSON :: Value -> Parser Expression

parseJSONList :: Value -> Parser [Expression]

ToJSON Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

toJSON :: Expression -> Value

toEncoding :: Expression -> Encoding

toJSONList :: [Expression] -> Value

toEncodingList :: [Expression] -> Encoding

Cacheable Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From Expression Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From Expression Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep Expression Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep Expression = D1 ('MetaData "Expression" "Hasura.Backends.DataConnector.IR.Expression" "graphql-engine-1.0.0-inplace" 'False) ((C1 ('MetaCons "And" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Expression])) :+: (C1 ('MetaCons "Or" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Expression])) :+: C1 ('MetaCons "Not" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Expression)))) :+: (C1 ('MetaCons "ApplyBinaryComparisonOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BinaryComparisonOperator) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ComparisonColumn) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ComparisonValue))) :+: (C1 ('MetaCons "ApplyBinaryArrayComparisonOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BinaryArrayComparisonOperator) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ComparisonColumn) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Value]))) :+: C1 ('MetaCons "ApplyUnaryComparisonOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UnaryComparisonOperator) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ComparisonColumn)))))

data BinaryComparisonOperator Source #

Operators which are typically applied to two Expressions (via the ApplyOperator sub-Expression) to perform a boolean comparison.

cf. https://www.postgresql.org/docs/13/functions-comparison.html

XXX(jkachmar): Comparison operations are tricky business!

We should define the semantics of these comparisons in a way that is clear and carefully considered.

Instances

Instances details
Eq BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Data BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BinaryComparisonOperator -> c BinaryComparisonOperator #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BinaryComparisonOperator #

toConstr :: BinaryComparisonOperator -> Constr #

dataTypeOf :: BinaryComparisonOperator -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BinaryComparisonOperator) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BinaryComparisonOperator) #

gmapT :: (forall b. Data b => b -> b) -> BinaryComparisonOperator -> BinaryComparisonOperator #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BinaryComparisonOperator -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BinaryComparisonOperator -> r #

gmapQ :: (forall d. Data d => d -> u) -> BinaryComparisonOperator -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BinaryComparisonOperator -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BinaryComparisonOperator -> m BinaryComparisonOperator #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BinaryComparisonOperator -> m BinaryComparisonOperator #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BinaryComparisonOperator -> m BinaryComparisonOperator #

Ord BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Show BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Generic BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Associated Types

type Rep BinaryComparisonOperator :: Type -> Type #

NFData BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Hashable BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

FromJSON BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

parseJSON :: Value -> Parser BinaryComparisonOperator

parseJSONList :: Value -> Parser [BinaryComparisonOperator]

ToJSON BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Cacheable BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From BinaryComparisonOperator BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From BinaryComparisonOperator BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep BinaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep BinaryComparisonOperator = D1 ('MetaData "BinaryComparisonOperator" "Hasura.Backends.DataConnector.IR.Expression" "graphql-engine-1.0.0-inplace" 'False) ((C1 ('MetaCons "LessThan" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LessThanOrEqual" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GreaterThan" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "GreaterThanOrEqual" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Equal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CustomBinaryComparisonOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))))

data UnaryComparisonOperator Source #

Instances

Instances details
Eq UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Data UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnaryComparisonOperator -> c UnaryComparisonOperator #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnaryComparisonOperator #

toConstr :: UnaryComparisonOperator -> Constr #

dataTypeOf :: UnaryComparisonOperator -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UnaryComparisonOperator) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UnaryComparisonOperator) #

gmapT :: (forall b. Data b => b -> b) -> UnaryComparisonOperator -> UnaryComparisonOperator #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnaryComparisonOperator -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnaryComparisonOperator -> r #

gmapQ :: (forall d. Data d => d -> u) -> UnaryComparisonOperator -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UnaryComparisonOperator -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnaryComparisonOperator -> m UnaryComparisonOperator #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnaryComparisonOperator -> m UnaryComparisonOperator #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnaryComparisonOperator -> m UnaryComparisonOperator #

Ord UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Show UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Generic UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Associated Types

type Rep UnaryComparisonOperator :: Type -> Type #

NFData UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

rnf :: UnaryComparisonOperator -> () #

Hashable UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

FromJSON UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

parseJSON :: Value -> Parser UnaryComparisonOperator

parseJSONList :: Value -> Parser [UnaryComparisonOperator]

ToJSON UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Cacheable UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From UnaryComparisonOperator UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From UnaryComparisonOperator UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep UnaryComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep UnaryComparisonOperator = D1 ('MetaData "UnaryComparisonOperator" "Hasura.Backends.DataConnector.IR.Expression" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "IsNull" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CustomUnaryComparisonOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

data BinaryArrayComparisonOperator Source #

Instances

Instances details
Eq BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Data BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BinaryArrayComparisonOperator -> c BinaryArrayComparisonOperator #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BinaryArrayComparisonOperator #

toConstr :: BinaryArrayComparisonOperator -> Constr #

dataTypeOf :: BinaryArrayComparisonOperator -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BinaryArrayComparisonOperator) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BinaryArrayComparisonOperator) #

gmapT :: (forall b. Data b => b -> b) -> BinaryArrayComparisonOperator -> BinaryArrayComparisonOperator #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BinaryArrayComparisonOperator -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BinaryArrayComparisonOperator -> r #

gmapQ :: (forall d. Data d => d -> u) -> BinaryArrayComparisonOperator -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BinaryArrayComparisonOperator -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BinaryArrayComparisonOperator -> m BinaryArrayComparisonOperator #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BinaryArrayComparisonOperator -> m BinaryArrayComparisonOperator #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BinaryArrayComparisonOperator -> m BinaryArrayComparisonOperator #

Ord BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Show BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Generic BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Associated Types

type Rep BinaryArrayComparisonOperator :: Type -> Type #

NFData BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Hashable BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

FromJSON BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

ToJSON BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Cacheable BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From BinaryArrayComparisonOperator BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From BinaryArrayComparisonOperator BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep BinaryArrayComparisonOperator Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep BinaryArrayComparisonOperator = D1 ('MetaData "BinaryArrayComparisonOperator" "Hasura.Backends.DataConnector.IR.Expression" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "In" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CustomBinaryArrayComparisonOperator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

data ComparisonColumn Source #

Constructors

ComparisonColumn 

Instances

Instances details
Eq ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Data ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ComparisonColumn -> c ComparisonColumn #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ComparisonColumn #

toConstr :: ComparisonColumn -> Constr #

dataTypeOf :: ComparisonColumn -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ComparisonColumn) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ComparisonColumn) #

gmapT :: (forall b. Data b => b -> b) -> ComparisonColumn -> ComparisonColumn #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ComparisonColumn -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ComparisonColumn -> r #

gmapQ :: (forall d. Data d => d -> u) -> ComparisonColumn -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ComparisonColumn -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ComparisonColumn -> m ComparisonColumn #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ComparisonColumn -> m ComparisonColumn #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ComparisonColumn -> m ComparisonColumn #

Ord ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Show ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Generic ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Associated Types

type Rep ComparisonColumn :: Type -> Type #

NFData ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

rnf :: ComparisonColumn -> () #

Hashable ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

FromJSON ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

parseJSON :: Value -> Parser ComparisonColumn

parseJSONList :: Value -> Parser [ComparisonColumn]

ToJSON ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Cacheable ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From ComparisonColumn ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From ComparisonColumn ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep ComparisonColumn Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep ComparisonColumn = D1 ('MetaData "ComparisonColumn" "Hasura.Backends.DataConnector.IR.Expression" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "ComparisonColumn" 'PrefixI 'True) (S1 ('MetaSel ('Just "_ccPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [RelationshipName]) :*: S1 ('MetaSel ('Just "_ccName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Name)))

data ComparisonValue Source #

Instances

Instances details
Eq ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Data ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ComparisonValue -> c ComparisonValue #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ComparisonValue #

toConstr :: ComparisonValue -> Constr #

dataTypeOf :: ComparisonValue -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ComparisonValue) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ComparisonValue) #

gmapT :: (forall b. Data b => b -> b) -> ComparisonValue -> ComparisonValue #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ComparisonValue -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ComparisonValue -> r #

gmapQ :: (forall d. Data d => d -> u) -> ComparisonValue -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ComparisonValue -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ComparisonValue -> m ComparisonValue #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ComparisonValue -> m ComparisonValue #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ComparisonValue -> m ComparisonValue #

Ord ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Show ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Generic ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Associated Types

type Rep ComparisonValue :: Type -> Type #

NFData ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

rnf :: ComparisonValue -> () #

Hashable ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

FromJSON ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

parseJSON :: Value -> Parser ComparisonValue

parseJSONList :: Value -> Parser [ComparisonValue]

ToJSON ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

Methods

toJSON :: ComparisonValue -> Value

toEncoding :: ComparisonValue -> Encoding

toJSONList :: [ComparisonValue] -> Value

toEncodingList :: [ComparisonValue] -> Encoding

Cacheable ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From ComparisonValue ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

From ComparisonValue ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep ComparisonValue Source # 
Instance details

Defined in Hasura.Backends.DataConnector.IR.Expression

type Rep ComparisonValue = D1 ('MetaData "ComparisonValue" "Hasura.Backends.DataConnector.IR.Expression" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "AnotherColumn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ComparisonColumn)) :+: C1 ('MetaCons "ScalarValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Value)))