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

Copy Markdown View Source

Returned (never raised) when a changeset.filter guard (the "only-update-if" predicate) can't be honoured (#361). We refuse rather than apply the write unguarded: silently dropping the guard would write when the predicate says not to (the write-side analogue of the traverse synthesis leaks, #342).

Two cases today:

  • update — the guard doesn't reduce to a conjunction of supported attribute predicates (e.g. it contains or/not, a calculation, or a predicate the pushdown doesn't cover). Narrow it, or do the conditional update outside the data layer.
  • destroy — a filtered destroy is not supported yet (the destroy_query decision point is deferred); the whole guard is refused.

Summary

Functions

exception(args)

@spec exception(opts :: Keyword.t()) :: %AshNeo4j.Error.UnsupportedChangesetFilter{
  __exception__: term(),
  bread_crumbs: term(),
  class: term(),
  filter: term(),
  path: term(),
  resource: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}

Create an Elixir.AshNeo4j.Error.UnsupportedChangesetFilter without raising it.

Keys

  • :resource
  • :filter