Commit graph

223 commits

Author SHA1 Message Date
Zach Daniel
ef96cd541e fix: use synonymous_relationship_path when looking up ref bindings 2023-11-16 11:02:24 -05:00
Alan Heywood
af8d8dbcac test: add failing test to demo an issue with has_one calculations 2023-11-16 11:02:02 -05:00
Zach Daniel
db8255e5b1 improvement: support a 2 argument function for the repo option 2023-11-14 10:56:22 -05:00
Zach Daniel
cae89d856e fix: get resource from proper bindings on exists query 2023-11-13 17:42:37 -05:00
Zach Daniel
342920a3c4 improvement: support parent in sort expressions 2023-10-26 09:47:56 -04:00
Zach Daniel
52302046e1 fix: properly join to related references in relationship filters 2023-10-24 12:25:23 -04:00
Zach Daniel
1a6e469e57 improvement: support atomics on upserts 2023-10-11 15:17:50 -04:00
Zach Daniel
f67db5ee6d chore: handle ci_string type as storage type 2023-10-10 14:16:25 -04:00
Zach Daniel
772c12b5a3 fix: don't run main query if only exists aggs are specified
fixes: #170
2023-10-10 09:43:09 -04:00
Zach Daniel
270d8685e7 improvement: support to-one references in calculations 2023-10-09 18:57:06 -04:00
Alessio Montagnani
0adec1d163
* improvement: in multitenant resources migration's generation, check if the relationship points at the primary key of the target then not adding the multitenancy attribute (#144 and #157) 2023-09-25 15:33:28 -04:00
Zach Daniel
b35f8c715b improvement: add AshPostgres.Tsquery 2023-09-20 16:41:32 -04:00
James Harton
6cc88c82b4
improvement: Allow resources to opt out of the primary key requirement. (#166) 2023-09-06 01:18:57 -04:00
Zach Daniel
33eb4f9fb7 improvement: better error message for missing table config 2023-09-04 11:25:03 -04:00
Zach Daniel
9f77304b22 fix: don't clobber loaded data on update 2023-08-31 13:04:08 -04:00
Zach Daniel
eabb745fc3 chore: update tests for latest ash atomics support 2023-08-31 11:47:15 -04:00
Zach Daniel
5a4a52854b
improvement: support atomics (#165) 2023-08-28 16:18:56 -04:00
Zach Daniel
cbde3958f3 fix: properly handle ensure nsted calls to get_path are jsonb 2023-08-23 12:54:25 -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
c8aa2a8dd8 improvement: add value_to_postgres_default/3 and AshPostgres.Type 2023-08-18 11:22:01 -04:00
Zach Daniel
d36457336b fix: handle case where multiple grouped aggregates depend on further aggregates 2023-08-16 23:02:56 -04:00
Alan Heywood
bac2e01b54
test: add failing test to demonstrate potential bug (#164)
1) test complex calculation (AshPostgres.Test.ComplexCalculationsTest)
     test/complex_calculations_test.exs:5
     ** (RuntimeError) Error while building reference: latest_documentation_status
     code: |> AshPostgres.Test.ComplexCalculations.Api.load!([
     stacktrace:
       (ash_postgres 1.3.41) lib/expr.ex:846: AshPostgres.Expr.do_dynamic_expr/5
       (ash_postgres 1.3.41) lib/expr.ex:109: AshPostgres.Expr.do_dynamic_expr/5
       (ash_postgres 1.3.41) lib/expr.ex:356: AshPostgres.Expr.do_dynamic_expr/5
       (ash_postgres 1.3.41) lib/expr.ex:968: anonymous fn/6 in AshPostgres.Expr.do_dynamic_expr/5
       (ecto 3.10.3) lib/ecto/query/builder/dynamic.ex:76: Ecto.Query.Builder.Dynamic.expand/3
       (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3
       (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4
       (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3
       (stdlib 5.0.2) lists.erl:1707: :lists.mapfoldl_1/3
       (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4
       (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3
       (stdlib 5.0.2) lists.erl:1707: :lists.mapfoldl_1/3
       (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4
       (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3
       (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4
       (stdlib 5.0.2) lists.erl:1706: :lists.mapfoldl_1/3
       (elixir 1.15.4) lib/macro.ex:653: Macro.do_traverse/4
       (ecto 3.10.3) lib/ecto/query/builder/dynamic.ex:59: Ecto.Query.Builder.Dynamic.partially_expand/6
       (ecto 3.10.3) lib/ecto/query/builder/select.ex:235: Ecto.Query.Builder.Select.expand_nested/3
       (ecto 3.10.3) lib/ecto/query/builder/select.ex:274: Ecto.Query.Builder.Select.expand_nested_pair/3
       (elixir 1.15.4) lib/enum.ex:1825: anonymous fn/3 in Enum.map_reduce/3
       (stdlib 5.0.2) maps.erl:416: :maps.fold_1/4
       (elixir 1.15.4) lib/enum.ex:2522: Enum.map_reduce/3
       (ecto 3.10.3) lib/ecto/query/builder/select.ex:257: Ecto.Query.Builder.Select.expand_nested/3
       (ecto 3.10.3) lib/ecto/query/builder/select.ex:205: Ecto.Query.Builder.Select.select!/5
       (elixir 1.15.4) lib/enum.ex:2510: Enum."-reduce/3-lists^foldl/2-0-"/3
       (ash_postgres 1.3.41) lib/aggregate.ex:121: anonymous fn/6 in AshPostgres.Aggregate.add_aggregates/6
       (elixir 1.15.4) lib/enum.ex:4830: Enumerable.List.reduce/3
       (elixir 1.15.4) lib/enum.ex:2564: Enum.reduce_while/3
       (ash_postgres 1.3.41) lib/aggregate.ex:53: AshPostgres.Aggregate.add_aggregates/6
       (ash 2.13.3) lib/ash/query/aggregate.ex:570: anonymous fn/6 in Ash.Query.Aggregate.value_request/9
       (ash 2.13.3) lib/ash/engine/engine.ex:537: anonymous fn/2 in Ash.Engine.run_iteration/1
       (ash 2.13.3) lib/ash/engine/engine.ex:558: anonymous fn/4 in Ash.Engine.async/2
       (elixir 1.15.4) lib/task/supervised.ex:101: Task.Supervised.invoke_mfa/2
       (elixir 1.15.4) lib/task/supervised.ex:36: Task.Supervised.reply/4
       (ash 2.13.3) lib/ash/engine/engine.ex:552: Ash.Engine.async/2
       (elixir 1.15.4) lib/enum.ex:1693: Enum."-map/2-lists^map/1-1-"/2
       (elixir 1.15.4) lib/enum.ex:1693: Enum."-map/2-lists^map/1-1-"/2
       (ash 2.13.3) lib/ash/engine/engine.ex:702: Ash.Engine.start_pending_tasks/1
       (ash 2.13.3) lib/ash/engine/engine.ex:323: Ash.Engine.run_to_completion/1
       (ash 2.13.3) lib/ash/engine/engine.ex:252: Ash.Engine.do_run/2
       (ash 2.13.3) lib/ash/engine/engine.ex:148: Ash.Engine.run/2
       (ash 2.13.3) lib/ash/actions/read.ex:173: Ash.Actions.Read.do_run/3
       (ash 2.13.3) lib/ash/actions/read.ex:96: Ash.Actions.Read.run/3
       (ash 2.13.3) lib/ash/api/api.ex:1733: Ash.Api.load/4
       (ash 2.13.3) lib/ash/api/api.ex:1707: Ash.Api.load!/4
       test/complex_calculations_test.exs:55: (test)
2023-08-16 20:49:18 -04:00
Alessio Montagnani
4a02d8c6ad
improvement: custom-extension implementation (#162)
* improvement: custom-extension implementation

* improvement: allow adding custom-extension by module's reference and fixes formatting

* ci: fixes formatter
2023-08-08 10:20:26 -07:00
Zach Daniel
7ce33cac2c fix: handle interaction between distinct, join filters and sort 2023-08-04 22:52:56 -04:00
Zach Daniel
d2e309c126 improvement: support the new parent/1 expr in relationships 2023-07-26 17:32:09 -04:00
Zach Daniel
c7866c6c16 improvement: support new distinct_sort option 2023-07-19 12:50:05 -04:00
Zach Daniel
c920b09277 improvement: support new distinct features from ash core 2023-07-18 14:48:35 -04:00
Zach Daniel
ed62006b3f improvement: support unary -/1 operator 2023-07-17 22:35:46 -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
11ad5f4d1b improvement: support at/2 expression 2023-07-12 17:05:33 -04:00
Zach Daniel
c1a630ee16 improvement: support string_split 2023-07-12 15:16:28 -04:00
Zach Daniel
1d96805d51 chore: cleanup nested DSL in test 2023-07-12 10:56:15 -04:00
Zach Daniel
a09dae4d26 fix: raise better error on invalid filter values
closes #154

We still want to build something better directly into `Ash.Filter`
that determines field types and casts them up front
2023-06-28 11:29:54 -04:00
Zach Daniel
ce9ca1ced2 chore: fix test bad identity 2023-06-27 19:14:30 -04:00
Eduardo B. A
4171ef851d
fix: Fixes multiple schema identities migrations (#156)
Co-authored-by: Eduardo <sezdocs@dev-distrobox.fedora.local>
2023-06-25 17:26:31 -04:00
Zach Daniel
6712943e74 fix: properly handle nested aggregate references 2023-06-05 18:35:22 -04:00
Zach Daniel
0ad06c6b63 test: update incorrect test 2023-05-30 22:24:22 -04:00
Zach Daniel
75a5467d35 test: format & update tests 2023-05-27 00:39:49 -04:00
Zach Daniel
06cb5b5c89 chore: update ash/tests 2023-05-26 23:59:35 -04:00
Tommaso Patrizi
96165a58ea
tests: added test for bulk upsert (#148)
Co-authored-by: Tommaso Patrizi <tommasop@gmail.com>
2023-05-26 23:58:04 -04:00
Frank Dugan III
4704253cc2
test: add test for bulk creating relationships (#147) 2023-05-26 09:13:24 -04:00
Zach Daniel
376717ae36 test: update tests for latest ash version 2023-05-25 10:46:07 -04:00
Zach Daniel
4a57a300da fix: handle raised errors in bulk actions 2023-05-22 21:17:30 -04:00
Zach Daniel
f59bbee443 improvement: raise better errors on conflicting locks 2023-05-17 13:17:37 -04:00
Zach Daniel
b457c3052e test: fix tests using filter option on aggregates 2023-05-10 23:14:55 -04:00
Zach Daniel
2bf6725fcb chore: fix bulk upserts 2023-05-02 22:19:01 -04:00
Zach Daniel
08a0a926e5 improvement: support bulk upserts 2023-05-02 22:16:21 -04:00
Zach Daniel
aed14f7ffd test: add test to confirm lateral join fix in Ash 2023-05-01 14:11:33 -04:00
Zach Daniel
cd821cc153 fix: go back to old migration sorting algorithm
closes: #139
2023-05-01 10:51:09 -04:00