Ash.Filter.Predicate.bulk_compare
You're seeing just the callback
bulk_compare
, go back to Ash.Filter.Predicate module for more information.
Specs
As long as at least one predicate of the type defined in your module,
(and this callback is implemented), it will be called with all of the
other predicates present in a filter. The return value is relatively
complex, but it should be a list of boolean statements. E.g.
{op, left, right}
and {:not, predicate}
(nested as deep as necessary).
The best way to do it is to find lists of predicates that are mutually
exclusive or mutually inclusive, and pass those lists into
Ash.SatSolver.mutually_exclusive/1
and Ash.SatSolver.mutually_inclusive/1