Returned (never raised) when a fragment(...) filter (the Cypher escape
hatch, #33) can't be pushed down — and, because raw Cypher can't be evaluated in
Elixir, it can't fall back to in-memory filtering either, so the data layer
refuses rather than silently return wrong results.
Two cases today:
- the fragment is combined with other filter conditions (it isn't the whole
filter) — only a filter that is a single
fragment(...)is pushed down so far; - a
?argument is not a plain attribute reference or a literal (e.g. a related field, calculation or nested expression).
Make the fragment the whole filter and reference attributes (? with an attribute)
or literals, or express the condition without a fragment.
Summary
Functions
Create an Elixir.AshNeo4j.Error.UnsupportedFilterFragment without raising it.
Functions
@spec exception(opts :: Keyword.t()) :: %AshNeo4j.Error.UnsupportedFilterFragment{ __exception__: term(), bread_crumbs: term(), class: term(), path: term(), reason: term(), resource: term(), splode: term(), stacktrace: term(), vars: term() }
Create an Elixir.AshNeo4j.Error.UnsupportedFilterFragment without raising it.
Keys
- :resource
- :reason