Barnabas Jovanovics
|
be15759de0
|
test: add test to show problem with field policies in filters (#206)
|
2024-02-14 10:25:25 -05:00 |
|
Zach Daniel
|
6d0a29f45c
|
chore: credo
|
2024-02-12 10:24:59 -05:00 |
|
Zach Daniel
|
03b630396c
|
test: update tests to demonstrate streaming update
|
2024-02-10 18:31:34 -05:00 |
|
Barnabas Jovanovics
|
3f7bdb8fc1
|
test: add test for parent in relationship filter (#203)
|
2024-02-06 10:04:35 -05:00 |
|
Zach Daniel
|
6ceac063f8
|
chore: credo
|
2024-01-30 20:55:13 -05:00 |
|
Alan Heywood
|
745a3b8264
|
test: add failing test to demo bug with changeset loading related data (#200)
|
2024-01-30 20:04:42 -05:00 |
|
Zach Daniel
|
5006a195bd
|
test: add test reproducing ash core fix for expression calculations
|
2024-01-30 16:39:17 -05:00 |
|
Zach Daniel
|
82dd14b953
|
chore: credo
|
2024-01-30 15:32:50 -05:00 |
|
Barnabas Jovanovics
|
fbd41407c3
|
test: add test that shows subquery error (#199)
|
2024-01-30 13:17:40 -05:00 |
|
Alan Heywood
|
aad5f9a182
|
test: add failing test to demonstrate bug with manual updates (#198)
|
2024-01-30 09:26:39 -05:00 |
|
Zach Daniel
|
4930a69b95
|
improvement: support count_nils expression
|
2024-01-29 17:17:32 -05:00 |
|
Zach Daniel
|
f20a07f54b
|
improvement: support latest ash changes
|
2024-01-19 00:12:50 -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
|
9b5acd98f7
|
chore: credo, dialyzer, format
|
2024-01-10 08:34:23 -05:00 |
|
Eduardo B. Alexandre
|
d5d312de56
|
feat: Add unit test to check lateral joins
with custom schemas and tables
|
2024-01-10 08:19:10 -05:00 |
|
Zach Daniel
|
76e23b186f
|
test: add some tests for aggregate refs in calcs
|
2024-01-10 07:22:25 -05:00 |
|
Zach Daniel
|
89a4363c1f
|
improvement: support directly referencing aggregates from aggregates
|
2023-12-23 10:39:54 -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 |
|
Barnabas Jovanovics
|
c916034931
|
fix: replace upsert field with source in EXCLUDED fragment (#187)
|
2023-12-19 15:05:05 +01:00 |
|
Zach Daniel
|
07499b6ec0
|
fix: use maps for composite_type instead of tuples
|
2023-11-29 10:27:10 -05:00 |
|
Zach Daniel
|
74ef0aa6c3
|
improvement: support composite_type/2 expression
|
2023-11-29 09:57:10 -05:00 |
|
Zach Daniel
|
592e79a2f9
|
improvement: support composite types
|
2023-11-27 17:47:54 -05:00 |
|
Zach Daniel
|
c53f1733be
|
chore: format
|
2023-11-22 14:29:47 -05:00 |
|
Barnabas Jovanovics
|
179cee4b24
|
chore: add test (#184)
|
2023-11-22 13:37:54 -05:00 |
|
Daniel Newman
|
8caad3bf7d
|
Adjust tests for updates from upstream
|
2023-11-21 09:25:24 -05:00 |
|
Daniel Newman
|
06510b2770
|
Error using calc to agg to calc to agg
|
2023-11-16 20:47:25 -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
|
52302046e1
|
fix: properly join to related references in relationship filters
|
2023-10-24 12:25:23 -04:00 |
|
Zach Daniel
|
270d8685e7
|
improvement: support to-one references in calculations
|
2023-10-09 18:57:06 -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
|
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
|
d2e309c126
|
improvement: support the new parent/1 expr in relationships
|
2023-07-26 17:32:09 -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
|
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
|
ce9ca1ced2
|
chore: fix test bad identity
|
2023-06-27 19:14:30 -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 |
|
Zach Daniel
|
4a57a300da
|
fix: handle raised errors in bulk actions
|
2023-05-22 21:17:30 -04:00 |
|
Zach Daniel
|
31fdbec62e
|
chore: credo
|
2023-04-05 12:21:35 -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
|
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
|
b41d383b47
|
fix: load by __order__ ascending
|
2023-02-07 17:43:53 -05: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
|
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
|
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
|
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
|
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
|
2451879d46
|
test: add test for code interface
|
2022-10-31 11:53:03 -04:00 |
|
Zach Daniel
|
13413d3cc7
|
feat: support now() in latest Ash
|
2022-10-20 01:08:35 -04: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
|
7fd1e73baa
|
fix: don't apply filter to array_agg
|
2022-10-10 12:06:54 -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 |
|
Darren Black
|
b0292d66f8
|
improvement: implement Length function (#111)
|
2022-09-15 16:51:49 -04:00 |
|
Zach Daniel
|
11561ea163
|
improvement: support latest ash
|
2022-09-14 12:59:01 -04:00 |
|
Zach Daniel
|
7fc6c91cac
|
improvement: support manual relationships with joins
|
2022-09-13 16:40:12 -04:00 |
|
Zach Daniel
|
4a69edce2d
|
important: update to ash 2.0 branch
|
2022-08-24 12:07:38 -04:00 |
|
Zach Daniel
|
eb2bd267cb
|
improvement: fix typecasting for calculations & embed access
chore: rebuild test migrations
|
2022-08-05 15:27:22 -04:00 |
|
Zach Daniel
|
0f9a433c95
|
improvement: support || and &&
|
2022-07-20 14:19:06 -04:00 |
|
Zach Daniel
|
c52917bca1
|
improvement: set update_defaults on upsert results
|
2022-07-06 14:44:18 -04:00 |
|
Zach Daniel
|
cf212e0d98
|
chore: format
|
2022-07-01 19:18:42 -04:00 |
|
Zach Daniel
|
c352a1f1fa
|
fix: support upsert_identity with base_filter
|
2022-07-01 19:12:14 -04:00 |
|
Zach Daniel
|
da07ed7b6c
|
fix: handle various join bugs
|
2022-06-29 15:08:49 -04:00 |
|
Zach Daniel
|
d04fd201f2
|
fix: test and confirm behavior of schemas
|
2022-05-22 18:30:20 -04:00 |
|
Zach Daniel
|
be15257531
|
fix: use correct bindings for filtered relationships
|
2022-05-22 02:12:07 -04:00 |
|
Zach Daniel
|
d2e5c71a6b
|
fix: cast calcs in query expressions
|
2022-05-20 13:42:20 -04:00 |
|
Zach Daniel
|
4ec454d4f1
|
fix: explicitly type cast aggregate/calc selects
|
2022-05-20 13:22:32 -04:00 |
|
Zach Daniel
|
2a5c7ac4a2
|
improvement: check_migrations, rename to --check
fix: don't use `table` where we should use `schema` in migration generator
|
2022-05-18 13:21:58 -04:00 |
|
Josh Price
|
91a61b488e
|
fix: ensure all single actions are explicitly marked as primary? (#95)
|
2022-05-08 08:08:06 -04:00 |
|
Zach Daniel
|
0c757d5049
|
chore: update for latest ash changes
|
2022-04-19 11:08:44 -04:00 |
|
Zach Daniel
|
efaa7c6cc6
|
fix: properly handle relationship filter bindings
fix: don't consider fields changed with only source -> name changes
|
2022-02-14 17:44:17 -05:00 |
|
Zach Daniel
|
97bd185c17
|
feat: support cast_in_query?/0 and source
|
2022-02-14 11:39:50 -05:00 |
|
Zach Daniel
|
e6ff1d8b4b
|
fix: fix aggregate/base filters
|
2022-02-11 16:06:51 -05:00 |
|
Zach Daniel
|
a6577d5175
|
chore: test enum types
|
2022-02-09 12:13:11 -05:00 |
|
Zach Daniel
|
cd9701a6ea
|
improvement: support referencing aggregates from aggregate filters
fix: don't select more fields than necessary
|
2022-02-09 11:49:19 -05:00 |
|
Zach Daniel
|
e2bd3c5aec
|
improvement: support access syntax
|
2022-02-07 16:48:36 -05:00 |
|
Zach Daniel
|
96c70fcaff
|
fix: properly reverse parameters before/after expansion
|
2022-02-07 15:35:18 -05:00 |
|
Zach Daniel
|
912fab9a96
|
fix: use CiStringWrapper type in ash_postgres
|
2021-12-17 13:25:14 -05:00 |
|
Zach Daniel
|
9a97cb682d
|
chore: work on tests
|
2021-11-13 13:57:00 -05:00 |
|
Frank Dugan III
|
b353b63b82
|
test: Add failing test for calculations load nullable timestamp aggregates compared to a fragment (#76)
|
2021-11-13 13:56:14 -05:00 |
|
Zach Daniel
|
2fdcea7ef8
|
improvement: support default on aggregates
chore: update to latest ash patterns for testing
|
2021-10-25 18:53:34 -04:00 |
|
Zach Daniel
|
be7e2a89bc
|
fix: left_lateral_join for many_to_many aggregates
fix: properly reference nested aggregate fields for join
fix: properly determine fallback table for polymorphic resources
|
2021-07-05 14:12:21 -04:00 |
|
Zach Daniel
|
f13f31330f
|
fix: properly set aggregate query sources
|
2021-07-02 12:41:44 -04:00 |
|