Translates Ash.Filter into Cypher WHERE clauses.
Only handles filter operations that AGE actually supports. Returns {:error, %UnsupportedFilter{}} for anything we can't push down.
Supported operators:
- eq, not_eq, gt, lt, gte, lte
- in, is_nil
- and, or, not
NOT supported (returns error):
- like, ilike
- Aggregate subqueries
- Exists subqueries
Summary
Functions
Translate an Ash filter expression into a Cypher WHERE fragment + parameters
Functions
@spec translate(term(), AshAge.Query.t()) :: {:ok, AshAge.Query.t(), String.t()} | {:error, term()}
Translate an Ash filter expression into a Cypher WHERE fragment + parameters