You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We had to make a recent fix that reduces drastically the amount of cases where calculations, relationships and aggregates required by calculations in their load/3 callback can be reused in the case that they are being loaded. This is because there is an important semantic difference: calculation dependencies should not have authorization rules applied to them.
However, there should be some analysis that can be applied to determine the ability to share, for example:
if the calculation is being run with calculate/3, we can reuse it.
If the calculation doesn't reference any aggregates or relationships, we can reuse it (traversing any nested calculations)
If the calculation references relationships and those relationships have no authorizers
These are some naive optimizations that could be applied.
The text was updated successfully, but these errors were encountered:
There was a new ash and ash_postgres minor release, which includes useful
features for development (namely: generators), so include that.
Note that we have to do a slight change to tests since due to
ash-project/ash#1282 the location calculation is not
reused when querying the position, so the test should expect 2 calls to the
mock. This could possibly change in the future when it is optimized again, so
leave a TODO detailing this.
There was a new ash and ash_postgres minor release, which includes useful
features for development (namely: generators), so include that.
Note that we have to do a slight change to tests since due to
ash-project/ash#1282 the location calculation is not
reused when querying the position, so the test should expect 2 calls to the
mock. This could possibly change in the future when it is optimized again, so
leave a TODO detailing this.
Signed-off-by: Riccardo Binetti <[email protected]>
We had to make a recent fix that reduces drastically the amount of cases where calculations, relationships and aggregates required by calculations in their
load/3
callback can be reused in the case that they are being loaded. This is because there is an important semantic difference: calculation dependencies should not have authorization rules applied to them.However, there should be some analysis that can be applied to determine the ability to share, for example:
calculate/3
, we can reuse it.These are some naive optimizations that could be applied.
The text was updated successfully, but these errors were encountered: