Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Expression
- = And [Expression]
- | Or [Expression]
- | Not Expression
- | ApplyBinaryComparisonOperator BinaryComparisonOperator ComparisonColumn ComparisonValue
- | ApplyBinaryArrayComparisonOperator BinaryArrayComparisonOperator ComparisonColumn [Value]
- | ApplyUnaryComparisonOperator UnaryComparisonOperator ComparisonColumn
- data BinaryComparisonOperator
- data UnaryComparisonOperator
- = IsNull
- | CustomUnaryComparisonOperator Text
- data BinaryArrayComparisonOperator
- data ComparisonColumn = ComparisonColumn {
- _ccPath :: [RelationshipName]
- _ccName :: Name
- data ComparisonValue
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
Instances
data BinaryComparisonOperator Source #
Operators which are typically applied to two Expression
s (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
data UnaryComparisonOperator Source #
Instances
data BinaryArrayComparisonOperator Source #
Instances
data ComparisonColumn Source #
Instances
data ComparisonValue Source #