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
Zach Daniel
d417361012
fix: subquery aggregates when a distinct is being added
2023-04-22 01:17:38 -06:00
Zach Daniel
903b1dd2e7
improvement: update ash
...
test: update tests
2023-04-21 10:43:58 -06:00
Zach Daniel
cd54969b03
test: add test for runtime calculation using query
2023-04-20 11:37:46 -06:00
Zach Daniel
525dcc9f91
improvement: use digraph for operation ordering
...
fix: handle primary key changes properly
Doing this involves dropping all foreign keys using it, and dropping the existing
primary key before creating the new one.
2023-04-11 17:41:53 -04:00
Zach Daniel
e154c15fc9
chore: release version v1.3.19
2023-04-07 11:05:38 -04:00
Zach Daniel
7952a515fe
fix: properly handle newtypes, add test
2023-04-07 10:56:06 -04:00
Zach Daniel
31fdbec62e
chore: credo
2023-04-05 12:21:35 -04:00
Zach Daniel
4ccec4fe8b
improvement: update ash
...
chore: fix tests
2023-04-04 21:49:24 -04:00
Barnabas Jovanovics
e2ee0016ea
test: add test that reproduces dependent select problem ( #136 )
2023-03-31 12:12:13 -04:00
Darren Black
587182998e
improvement: Implement string_join expr ( #132 )
2023-02-21 10:21:53 -05:00
Zach Daniel
49b94fd183
fix: don't use :distinct
when uniq?
is not true
2023-02-17 15:21:50 -05:00
Zach Daniel
589fb4d620
improvement: better type casting for concat operator
2023-02-12 19:09:25 -05:00
Zach Daniel
8eabbde953
add tests for new transaction behavior
2023-02-10 15:41:41 -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
8d45e92fc2
fix: do limit/offset outside of query if distinct is required
2023-02-07 19:15:44 -05:00
Zach Daniel
b41d383b47
fix: load by __order__ ascending
2023-02-07 17:43:53 -05:00
Alan Heywood
09092cc051
test: demonstrate issue loading aggregate
...
Calling Api.load! to load an aggregate on an existing record, where
the aggregated record has a relates_to_actor_via policy on it causes
the following error. Note that this error was recently fixed when
loading the aggregate as part of the query.
1) test relates to actor via has_many and with an aggregate (AshPostgres.AggregateTest)
test/aggregate_test.exs:8
** (RuntimeError) Could not determined related for `exists/2` expression.
Context Resource: %{aggregates: %{}, calculations: %{}, data_layer: AshPostgres.DataLayer, public?: false, relationship_path: [], resource: AshPostgres.Test.Comment, root_resource: AshPostgres.Test.Comment}
Context Relationship Path: []
At Path: []
Path: [:organization, :users]
Related: nil
Expression: exists(organization.users, [id: "df84db36-b8de-485b-8e47-a86307588f79"])
code: |> Api.load!(:count_of_comments, actor: user)
stacktrace:
(ash 2.5.13) lib/ash/filter/filter.ex:2121: Ash.Filter.add_expression_part/3
(ash 2.5.13) lib/ash/filter/filter.ex:2037: anonymous fn/3 in Ash.Filter.parse_expression/2
(elixir 1.14.2) lib/enum.ex:4751: Enumerable.List.reduce/3
(elixir 1.14.2) lib/enum.ex:2514: Enum.reduce_while/3
(ash 2.5.13) lib/ash/filter/filter.ex:295: Ash.Filter.parse/5
(ash 2.5.13) lib/ash/query/query.ex:1803: Ash.Query.do_filter/2
(elixir 1.14.2) lib/map.ex:883: Map.update!/3
(ash 2.5.13) lib/ash/engine/request.ex:654: Ash.Engine.Request.apply_filter/4
(ash 2.5.13) lib/ash/engine/request.ex:561: Ash.Engine.Request.do_strict_check/3
(ash 2.5.13) lib/ash/engine/request.ex:522: anonymous fn/2 in Ash.Engine.Request.strict_check/2
(elixir 1.14.2) lib/enum.ex:4751: Enumerable.List.reduce/3
(elixir 1.14.2) lib/enum.ex:2514: Enum.reduce_while/3
(ash 2.5.13) lib/ash/engine/request.ex:255: Ash.Engine.Request.do_next/1
(ash 2.5.13) lib/ash/engine/request.ex:211: Ash.Engine.Request.next/1
(ash 2.5.13) lib/ash/engine/engine.ex:650: Ash.Engine.advance_request/2
(ash 2.5.13) lib/ash/engine/engine.ex:556: Ash.Engine.fully_advance_request/2
(ash 2.5.13) lib/ash/engine/engine.ex:497: Ash.Engine.do_run_iteration/2
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(ash 2.5.13) lib/ash/engine/engine.ex:440: Ash.Engine.run_iteration/1
(ash 2.5.13) lib/ash/engine/engine.ex:257: Ash.Engine.run_to_completion/1
(ash 2.5.13) lib/ash/engine/engine.ex:202: Ash.Engine.do_run/2
(ash 2.5.13) lib/ash/engine/engine.ex:141: Ash.Engine.run/2
(ash 2.5.13) lib/ash/actions/read.ex:170: Ash.Actions.Read.do_run/3
(ash 2.5.13) lib/ash/actions/read.ex:90: Ash.Actions.Read.run/3
(ash 2.5.13) lib/ash/api/api.ex:928: Ash.Api.load/4
(ash 2.5.13) lib/ash/api/api.ex:902: Ash.Api.load!/4
test/aggregate_test.exs:48: (test)
2023-01-31 10:35:33 +10:00
Alan Heywood
1dbd7f619d
Update test to demo issue with policy on aggregate
...
The issue occurs when an aggregate is loaded, and the aggregated
resource itself has a relates_to_actor_via policy.
The following error is produced at test/aggregate_test.exs:42
1) test relates to actor via has_many and with an aggregate (AshPostgres.AggregateTest)
test/aggregate_test.exs:8
** (RuntimeError) Could not determined related for `exists/2` expression.
Context Resource: %{aggregates: %{count_of_comments: #count<comments from #Ash.Query<resource: AshPostgres.Test.Comment>>}, calculations: %{}, data_layer: AshPostgres.DataLayer, public?: false, relationship_path: [], resource: AshPostgres.Test.Post, root_resource: AshPostgres.Test.Post}
Context Relationship Path: []
At Path: []
Path: [:post, :organization, :users]
Related: nil
Expression: exists(post.organization.users, [id: "236f08bc-6a3a-4a78-9911-2c24189dafac"])
code: |> Api.read_one!()
stacktrace:
(ash 2.5.12) lib/ash/filter/filter.ex:2121: Ash.Filter.add_expression_part/3
(ash 2.5.12) lib/ash/filter/filter.ex:2037: anonymous fn/3 in Ash.Filter.parse_expression/2
(elixir 1.14.2) lib/enum.ex:4751: Enumerable.List.reduce/3
(elixir 1.14.2) lib/enum.ex:2514: Enum.reduce_while/3
(ash 2.5.12) lib/ash/filter/filter.ex:295: Ash.Filter.parse/5
(ash 2.5.12) lib/ash/filter/filter.ex:995: Ash.Filter.add_to_filter/6
(ash 2.5.12) lib/ash/query/query.ex:1797: Ash.Query.do_filter/2
(elixir 1.14.2) lib/map.ex:883: Map.update!/3
(ash 2.5.12) lib/ash/engine/request.ex:650: Ash.Engine.Request.apply_filter/4
(ash 2.5.12) lib/ash/engine/request.ex:557: Ash.Engine.Request.do_strict_check/3
(ash 2.5.12) lib/ash/engine/request.ex:518: anonymous fn/2 in Ash.Engine.Request.strict_check/2
(elixir 1.14.2) lib/enum.ex:4751: Enumerable.List.reduce/3
(elixir 1.14.2) lib/enum.ex:2514: Enum.reduce_while/3
(ash 2.5.12) lib/ash/engine/request.ex:255: Ash.Engine.Request.do_next/1
(ash 2.5.12) lib/ash/engine/request.ex:211: Ash.Engine.Request.next/1
(ash 2.5.12) lib/ash/engine/engine.ex:650: Ash.Engine.advance_request/2
(ash 2.5.12) lib/ash/engine/engine.ex:556: Ash.Engine.fully_advance_request/2
(ash 2.5.12) lib/ash/engine/engine.ex:497: Ash.Engine.do_run_iteration/2
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(ash 2.5.12) lib/ash/engine/engine.ex:257: Ash.Engine.run_to_completion/1
(ash 2.5.12) lib/ash/engine/engine.ex:202: Ash.Engine.do_run/2
(ash 2.5.12) lib/ash/engine/engine.ex:141: Ash.Engine.run/2
(ash 2.5.12) lib/ash/actions/read.ex:170: Ash.Actions.Read.do_run/3
(ash 2.5.12) lib/ash/actions/read.ex:90: Ash.Actions.Read.run/3
(ash 2.5.12) lib/ash/api/api.ex:1005: Ash.Api.read_one/3
(ash 2.5.12) lib/ash/api/api.ex:998: Ash.Api.read_one!/3
test/aggregate_test.exs:43: (test)
2023-01-30 16:09:48 +10:00
Alan Heywood
acc947292d
Add failing test for inserting via Ecto.Repo.insert!
...
It should be possible to use this function, and it did work as of ash
v2.5.9. This test fails as of ash v2.5.10, which introduced adding
relationships to underlying ecto schemas. The bug is related to a
has_many relationship being present on the resource.
The test fails with:
1) test call Ecto.Repo.insert! via Ash Repo (AshPostgres.EctoCompatibilityTest)
test/ecto_compatibility_test.exs:6
** (Ecto.InvalidChangesetError) could not perform insert because changeset is invalid.
Errors
%{posts: [{"is invalid", [type: {:array, :map}]}]}
Applied changes
%{name: "The Org"}
Params
nil
Changeset
#Ecto.Changeset<
action: :insert,
changes: %{name: "The Org"},
errors: [posts: {"is invalid", [type: {:array, :map}]}],
data: #AshPostgres.Test.Organization<>,
valid?: false
>
code: |> AshPostgres.TestRepo.insert!()
stacktrace:
(ecto 3.9.4) lib/ecto/repo/schema.ex:270: Ecto.Repo.Schema.insert!/4
test/ecto_compatibility_test.exs:9: (test)
2023-01-30 10:40:45 +10:00
Zach Daniel
04a64b8b94
chore: credo
2023-01-29 18:24:11 -05:00
Alan Heywood
f290ae47b8
Add failing test for policy + aggregate issue
...
The conditions for this issue to occur seem to be:
- DataLayer is Postgres
- Resource has a relates_to_actor_via policy on read
- The relates_to_actor_via path includes a has_many relationship
- An aggregate is loaded
The following error is produced:
1) test relates to actor via has_many and with an aggregate (AshPostgres.AggregateTest)
test/aggregate_test.exs:8
** (Ash.Error.Unknown.UnknownError) ** (ArgumentError) No such entity nil found.
code: |> Api.read_one!(actor: user)
stacktrace:
nil.spark_dsl_config()
(spark 0.3.8) lib/spark/dsl/extension.ex:129: Spark.Dsl.Extension.dsl!/1
(spark 0.3.8) lib/spark/dsl/extension.ex:158: Spark.Dsl.Extension.get_persisted/3
(ash 2.5.10) lib/ash/filter/filter.ex:2986: Ash.Filter.do_hydrate_refs/2
(ash 2.5.10) lib/ash/policy/check/relates_to_actor_via.ex:3: Ash.Policy.Check.RelatesToActorVia.try_eval/2
(ash 2.5.10) lib/ash/policy/check/relates_to_actor_via.ex:3: Ash.Policy.Check.RelatesToActorVia.try_strict_check/3
(ash 2.5.10) lib/ash/policy/checker.ex:63: Ash.Policy.Checker.do_strict_check_facts/3
(ash 2.5.10) lib/ash/policy/checker.ex:88: anonymous fn/2 in Ash.Policy.Checker.strict_check_policies/3
(elixir 1.14.2) lib/enum.ex:4751: Enumerable.List.reduce/3
(elixir 1.14.2) lib/enum.ex:2514: Enum.reduce_while/3
(ash 2.5.10) lib/ash/policy/checker.ex:9: anonymous fn/2 in Ash.Policy.Checker.strict_check_facts/1
(elixir 1.14.2) lib/enum.ex:4751: Enumerable.List.reduce/3
(elixir 1.14.2) lib/enum.ex:2514: Enum.reduce_while/3
(ash 2.5.10) lib/ash/policy/authorizer.ex:790: Ash.Policy.Authorizer.do_strict_check_facts/1
(ash 2.5.10) lib/ash/policy/authorizer.ex:372: Ash.Policy.Authorizer.strict_check/2
(ash 2.5.10) lib/ash/engine/request.ex:550: Ash.Engine.Request.do_strict_check/3
(ash 2.5.10) lib/ash/engine/request.ex:518: anonymous fn/2 in Ash.Engine.Request.strict_check/2
(elixir 1.14.2) lib/enum.ex:4751: Enumerable.List.reduce/3
(elixir 1.14.2) lib/enum.ex:2514: Enum.reduce_while/3
(ash 2.5.10) lib/ash/engine/request.ex:255: Ash.Engine.Request.do_next/1
(ash 2.5.10) lib/ash/engine/request.ex:211: Ash.Engine.Request.next/1
(ash 2.5.10) lib/ash/engine/engine.ex:650: Ash.Engine.advance_request/2
(ash 2.5.10) lib/ash/engine/engine.ex:556: Ash.Engine.fully_advance_request/2
(ash 2.5.10) lib/ash/engine/engine.ex:497: Ash.Engine.do_run_iteration/2
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(ash 2.5.10) lib/ash/engine/engine.ex:440: Ash.Engine.run_iteration/1
(ash 2.5.10) lib/ash/engine/engine.ex:257: Ash.Engine.run_to_completion/1
(ash 2.5.10) lib/ash/engine/engine.ex:202: Ash.Engine.do_run/2
(ash 2.5.10) lib/ash/engine/engine.ex:141: Ash.Engine.run/2
(ash 2.5.10) lib/ash/actions/read.ex:170: Ash.Actions.Read.do_run/3
(ash 2.5.10) lib/ash/actions/read.ex:90: Ash.Actions.Read.run/3
(ash 2.5.10) lib/ash/api/api.ex:1005: Ash.Api.read_one/3
(ash 2.5.10) lib/ash/api/api.ex:998: Ash.Api.read_one!/3
test/aggregate_test.exs:44: (test)
2023-01-29 16:15:16 +10: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
e81e77840a
fix: don't group aggregates that reference relationships in their filters
2022-12-21 16:58:12 -05:00
Zach Daniel
09b19c8bfd
improvement: add like and ilike
2022-12-21 16:12:49 -05:00
Zach Daniel
01d1a8aa5d
test: add test confirming embedded array behavior
2022-12-18 02:35:42 -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
Alan Heywood
df3b4fd82c
Add a failing test to repro a bug with calculation loads
2022-12-17 22:57:25 +10:00
Zach Daniel
bfefef7fd5
improvement: distinct on source of query, not relationship destination
2022-12-15 17:16:53 -05:00
Zach Daniel
5987515b8d
fix: properly combine sort + to many join filter
2022-12-14 22:37:10 -05:00
Zach Daniel
9d6996be25
fix: make migration generator work better for umbrellas
2022-12-13 13:31:57 -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
7d0663588f
chore: add test with join in many to many
2022-12-04 13:39:58 -05:00
Zach Daniel
52fcba79ac
improvement: inform users about postgres incompatibility with multidimensional arrays
2022-12-01 20:24:49 -05:00
Darren Black
f088601cf9
Failing tests for aggregates on arrays ( #121 )
2022-11-30 21:26:58 -05:00
Zach Daniel
f03332c13b
chore: fix tests
2022-11-30 20:59:18 -05:00
Zach Daniel
498d54e812
improvement: update ash, add test for transaction hooks
2022-11-30 20:51:06 -05:00
Zach Daniel
059837651d
improvement: add unique constraints to changeset for custom unique indexes
...
improvement: separate out concurrent index creations and do them in a separate transaction
2022-11-25 14:06:22 -05:00
Zach Daniel
b4efb3a343
test: fix tests for migration_defaults
2022-11-21 02:45:09 -05:00
Zach Daniel
8f064db2f0
chore: work on tests for migration_defaults
2022-11-21 02:39:57 -05:00
Zach Daniel
2451879d46
test: add test for code interface
2022-10-31 11:53:03 -04:00
Zach Daniel
dbfca0ec57
chore: format
2022-10-24 22:17:42 -06:00
Kyle Grinstead
a88687c1d5
fix: && operator in expressions to point to ash_elixir_and ( #115 )
2022-10-24 22:13:12 -06:00
Zach Daniel
13413d3cc7
feat: support now()
in latest Ash
2022-10-20 01:08:35 -04:00
Zach Daniel
5222e1e755
improvement: handle UUID types better
2022-10-17 08:40:32 -05:00
Zach Daniel
fb8a13f33d
improvement: set lateral join source for latest ash
...
improvement: use `prepend?: true` option when applying relationship sorts
2022-10-15 00:03:16 -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
94edf64322
fix: use attribute source for identity fields
2022-10-04 16:13:52 -04:00
Zach Daniel
fd5ac60072
improvement: exists
filters necessitate multiple aggregate joins (for now)
2022-09-28 18:01:20 -04:00