mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 13:33:20 +12:00
60e0dad7b6
This is one of the most complicated parts of Ash. In order to pass a filter statement to the satisfiability solver that we use, we have to first transpile a *value* statement into a *boolean* statement. This means that we need to embed the knowledge of mutual exclusivity wherever possible. Authorization still works if the system doesn't know the relationship between two value statements, as it will attach the authorization filters if its not sure. But having this in place should represent a fairly significant optimization in many cases. Additionally, filter creation has a set of optimizations around the `eq` and `in` operators to combine them whlie building a boolean statement |
||
---|---|---|
.. | ||
ash | ||
mix/tasks | ||
ash.ex | ||
sat_solver.ex |