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_querydecision point is deferred); the whole guard is refused.
Summary
Functions
Create an Elixir.AshNeo4j.Error.UnsupportedChangesetFilter without raising it.
Functions
@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