Commit graph

69 commits

Author SHA1 Message Date
Dmitry Maganov
8f3100a381
fix: keep fields of custom_index in format that they were provided (#195) 2024-01-22 11:32:34 -05:00
Zach Daniel
445de282c0 fix: remap selected fields, don't subquery in aggregate joins 2024-01-19 20:13:42 -05:00
Zach Daniel
f3ccb78f86 improvement: support join_filters on aggregates
fix: subquery relationships that have filters
2024-01-11 22:30:35 -05:00
Zach Daniel
89a4363c1f improvement: support directly referencing aggregates from aggregates 2023-12-23 10:39:54 -05:00
Zach Daniel
32ef8e6834 chore: remove commented out code 2023-12-22 21:16:13 -05:00
Zach Daniel
68e2f74fe0 improvement: support aggregates using other aggregates
fix: various fixes for unnecessary aggregate additions
test: added a test to confirm context based multitenancy behavior
2023-12-22 21:14:40 -05:00
Zach Daniel
9ca9272426 improvement: only start savepoints when necessary 2023-12-21 16:56:57 -05:00
Zach Daniel
61d229c685 fix: use lateral joins when joining to subquery w/ parent reference 2023-12-19 18:15:00 -05:00
Zach Daniel
5cf9affff4 fix: simplify aggregate bindings & calculation reference building 2023-11-22 14:07:18 -05:00
Zach Daniel
8e8da855b2 chore: fix dialyzer error 2023-11-21 09:44:10 -05:00
Zach Daniel
28f2861036 improvement: optimize relationships with identity on other end 2023-11-21 09:25:24 -05:00
Zach Daniel
fcda627050 fix: hydrate aggregate refs when adding for calculations 2023-11-20 07:05:47 -05:00
Zach Daniel
33bd0a7061 fix: properly add filters for exists aggregates
closes: #173
2023-11-17 07:46:43 -05:00
Zach Daniel
c6e6633a9a fix: properly expand calculation values across aggregate invocations 2023-11-17 04:01:35 -05:00
Zach Daniel
abbbddf726 fix: don't add filter for no_attributes? relationships 2023-11-16 18:08:12 -05:00
Zach Daniel
39754d1f38 fix: handle no_attributes? flag on aggregates better
fix: properly handle sorted relationships in aggregates
2023-11-16 17:48:39 -05:00
Zach Daniel
ad9d18aecb improvement: join relationships for aggregate filters 2023-10-25 12:59:03 -04:00
Zach Daniel
99b2a5631c improvement: support in-line aggregates
fix: support non-atom named aggregates
2023-08-22 14:51:31 -04:00
Zach Daniel
d36457336b fix: handle case where multiple grouped aggregates depend on further aggregates 2023-08-16 23:02:56 -04:00
Zach Daniel
3d8c4c7687 fix: properly detect optimizable first aggregates 2023-07-31 23:50:50 -04:00
Zach Daniel
d2e309c126 improvement: support the new parent/1 expr in relationships 2023-07-26 17:32:09 -04:00
Zach Daniel
97a9ca5872 improvement: properly handle context for referenced calculations 2023-07-20 21:57:44 -04:00
Zach Daniel
062e67392a fix: convert Ash.Resource.Aggregate to Ash.Query.Aggregate when adding 2023-07-13 23:27:08 -04:00
Zach Daniel
d2e071773e improvement: support exists aggregates 2023-07-13 00:13:50 -04:00
Zach Daniel
0e6bcd047e improvement: add simple_join_first_aggregates option 2023-06-11 20:33:20 -04:00
Zach Daniel
6712943e74 fix: properly handle nested aggregate references 2023-06-05 18:35:22 -04:00
Zach Daniel
b457c3052e test: fix tests using filter option on aggregates 2023-05-10 23:14:55 -04:00
Zach Daniel
d954825b7e chore: update ecto in lock & fix warnings
fixes: #138
2023-04-12 10:44:43 -04:00
Zach Daniel
5046273ed0 fix: properly map parent bindings in exists 2023-03-17 17:06:06 -04:00
Zach Daniel
49b94fd183 fix: don't use :distinct when uniq? is not true 2023-02-17 15:21:50 -05:00
Zach Daniel
48488c7bad fix: don't double-cast to array for list aggregates 2023-02-13 13:30:47 -05:00
Zach Daniel
bbb45f3622 fix: sorting on optimized first aggregates 2023-02-09 17:49:37 -05:00
Zach Daniel
8e8a308cd2 improvement: support new uniq? option on count/list aggregates 2023-02-09 16:09:44 -05:00
Zach Daniel
80cd06818d improvement: optimized first aggregates where possible 2023-02-08 14:46:29 -05:00
Zach Daniel
93e2a786f4 improvement: authorization filters are now attached by ash core 2023-02-04 01:56:06 -05:00
Zach Daniel
ee97fde9dc fix: nest subqueries when required for distinct
fix: replace `{:in, ...}` type with `{:array, ...}`
2023-01-17 09:57:05 -05:00
Zach Daniel
3c496512e2 fix: use parent_expr instead of this
fix: various expression & type building fixes
2023-01-06 17:05:23 -05:00
Zach Daniel
475ec0f1ca feat: support latest ash 2023-01-04 12:36:18 -05:00
Zach Daniel
7f3f02fc44 chore: optimize binding calculation 2022-12-31 09:22:12 -05:00
Zach Daniel
301466e1b5 improvement: support calculations as aggregate targets
fix: handle lists with expressions inside
2022-12-28 22:08:07 -05:00
Zach Daniel
e81e77840a fix: don't group aggregates that reference relationships in their filters 2022-12-21 16:58:12 -05:00
Zach Daniel
a5b1bc8a3f fix: properly add aggregates to query when referenced from calculations
fixes: #127
2022-12-18 02:23:39 -05:00
Zach Daniel
68c6d7aaf8 improvement: better error messages from mix tasks
fix: various broken behavior from new aggregate work
improvement: validate that references refer to relationships

closes #99
2022-12-10 15:59:50 -05:00
Zach Daniel
e271a27d3c improvement: avg/min/max/custom aggregate support
fix: fix various problems with the model behind aggregates
2022-12-07 20:32:38 -05:00
Zach Daniel
ee8e77dca4 fix: properly set binding names for many to many join filters 2022-12-04 15:01:24 -05:00
Zach Daniel
a8b44fef0f fix: no unnecessary type cast on count/sum aggregates 2022-10-10 12:12:17 -04:00
Zach Daniel
7fd1e73baa fix: don't apply filter to array_agg 2022-10-10 12:06:54 -04:00
Zach Daniel
b7b5758134 improvement: update to the latest ash
improvement: remove the need to dynamically expand fragments
2022-10-07 15:50:20 -04:00
Zach Daniel
fd5ac60072 improvement: exists filters necessitate multiple aggregate joins (for now) 2022-09-28 18:01:20 -04:00
Zach Daniel
e8643d4aa0 fix: properly type cast top level fragments
chore: update tests not to use deprecated helper
2022-09-21 13:36:18 -04:00