| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Hasura.Backends.DataConnector.IR.Expression
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
Constructors
Instances
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.
Constructors
| LessThan | |
| LessThanOrEqual | |
| GreaterThan | |
| GreaterThanOrEqual | |
| Equal | |
| CustomBinaryComparisonOperator Text |
Instances
data UnaryComparisonOperator Source #
Constructors
| IsNull | |
| CustomUnaryComparisonOperator Text |
Instances
data BinaryArrayComparisonOperator Source #
Constructors
| In | |
| CustomBinaryArrayComparisonOperator Text |
Instances
data ComparisonColumn Source #
Constructors
| ComparisonColumn | |
Fields
| |
Instances
data ComparisonValue Source #
Constructors
| AnotherColumn ComparisonColumn | |
| ScalarValue Value |