AshNeo4j.Error.UnsupportedFilterFragment exception (AshNeo4j v0.10.1)

Copy Markdown View Source

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

exception(args)

@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