Davide Briani
814e7de496
improvement: support on_delete: :nilify
for specific columns ( #289 )
2024-05-16 19:18:17 -05:00
Riccardo Binetti
ad0b1a5c6c
chore: add relationship pagination tests ( #265 )
2024-05-16 17:28:43 -05:00
Riccardo Binetti
e29aa86870
chore: fix bulk destroy tests ( #290 )
...
* chore: fix bulk destroy tests
They were using an :update action
* chore: fix credo error
2024-05-16 15:48:38 -05:00
Zach Daniel
9b3e5d38fb
test: update test to run authorization
2024-05-16 09:53:19 -05:00
Dmitry Maganov
74cead8749
test: add failing test for changing_attributes
check for create ( #288 )
2024-05-16 08:39:47 -05:00
Zach Daniel
6153016080
chore: fix test for ^ref
2024-05-15 11:23:26 -04:00
Alan Heywood
3f00dcbe8e
test: add failing test to demonstrate error using ref ( #282 )
...
Filtering on ref in this manner worked up until Ash 3.0. Now, it gives
the following error:
1) test filter with ref (AshPostgres.FilterTest)
test/filter_test.exs:1076
** (FunctionClauseError) no function clause matching in Ash.Filter.check_filterable/2
The following arguments were given to Ash.Filter.check_filterable/2:
# 1
AshPostgres.Test.Organization
# 2
:id
Attempted function clauses (showing 2 out of 2):
defp check_filterable(_resource, [])
defp check_filterable(resource, [relationship | rest])
code: |> Ash.Query.filter(^ref(:id, [:posts, :comments]) == ^comment.id)
stacktrace:
(ash 3.0.1) lib/ash/filter/filter.ex:2944: Ash.Filter.check_filterable/2
(ash 3.0.1) lib/ash/filter/filter.ex:2933: anonymous fn/2 in Ash.Filter.validate_filterable_relationship_paths/2
(elixir 1.16.2) lib/enum.ex:4316: Enum.find_value_list/3
(ash 3.0.1) lib/ash/filter/filter.ex:2923: Ash.Filter.validate_refs/3
(ash 3.0.1) lib/ash/filter/filter.ex:3015: Ash.Filter.resolve_call/2
(ash 3.0.1) lib/ash/filter/filter.ex:2489: Ash.Filter.add_expression_part/3
(ash 3.0.1) lib/ash/filter/filter.ex:2427: anonymous fn/3 in Ash.Filter.parse_expression/2
(elixir 1.16.2) lib/enum.ex:4839: Enumerable.List.reduce/3
(elixir 1.16.2) lib/enum.ex:2582: Enum.reduce_while/3
(ash 3.0.1) lib/ash/filter/filter.ex:334: Ash.Filter.parse/3
(ash 3.0.1) lib/ash/query/query.ex:2574: Ash.Query.do_filter/3
test/filter_test.exs:1095: (test)
2024-05-15 11:19:29 -04:00
Zach Daniel
6d825792b3
fix: rework the update and destroy query builder to support multiple kinds of joining
2024-05-15 11:15:34 -04:00
Barnabas Jovanovics
e597c39687
add test for rels in atomic updates ( #286 )
2024-05-15 09:50:36 -04:00
Zach Daniel
11852aec93
chore: update deps and add test
2024-05-14 12:36:16 -04:00
Barnabas Jovanovics
6d0cca1fae
test: show error with calc depending on other exists calc ( #280 )
2024-05-14 08:35:40 -04:00
Zach Daniel
d0c7984a89
test: add tests for action filters in bulk update/destroy
...
fix: ensure filter is included in stale record error message
2024-05-12 16:28:48 -04:00
Zach Daniel
f6b1aa3d29
fix: ensure we don't duplicate selects on destroy_query calls
...
we fixed this by combining the logic for query building for bulk destroys
and bulk updates
2024-05-06 11:27:13 -04:00
Frank Dugan III
bc02a4d23c
feat: add timestamptz types ( #266 )
2024-05-05 06:08:21 -04:00
Zach Daniel
8eef44951c
test additional bulk action tests
2024-05-03 21:26:08 -04:00
Lukas Ender
f405225731
feat: test with calculations using exists
( #240 )
2024-05-03 12:31:42 -04:00
Zach Daniel
77b824e23d
fix: update ash & fix subquery sort references
2024-05-03 00:02:04 -04:00
Zach Daniel
56f3a5eb2f
fix: fix calculate when exprs aren't dynamics
...
test: add test for datetimes
2024-05-02 21:29:21 -04:00
Riccardo Binetti
65f93561d8
chore: add failing test for bulk actions and non-null violations ( #260 )
...
- bulk_create returns a Postgrex error instead of Ash.Error.Changes.Required
like the non-bulk create does
- bulk_update with :stream strategy does the same
- bulk_update with :atomic strategy doesn't trim the empty string and writes it
to the database
2024-05-02 20:31:35 -04:00
Zach Daniel
3e95715be8
chore: update ash_sql for bug fix
2024-05-02 01:40:32 -04:00
Zach Daniel
a6c1dedffb
test: add tests for fix in ash_sql around actor refs in relationships
2024-05-01 08:27:49 -04:00
Zach Daniel
a2083ff736
fix: update ash_sql for inner join fixes
...
closes #252
chore: small test fixes
2024-04-26 23:51:29 -04:00
Zach Daniel
1524501236
fix: properly honor limit
in bulk operations
2024-04-24 10:17:05 -04:00
Zach Daniel
3c4a3d30a5
fix: handle missing aggregate relationships and fields better in transformers
...
fix: update ash_sql for bug fixes
2024-04-22 20:42:11 -04:00
32448ea5de
chore: Add failing test for tenanted aggregate bug. ( #244 )
2024-04-22 19:06:06 -04:00
Zach Daniel
ec91e2ee9b
fix: reproduce issue around atomic updates & validations
2024-04-22 18:58:57 -04:00
Zach Daniel
3007ebf1bf
chore: update ash_sql dependency
2024-04-22 11:31:13 -04:00
Zach Daniel
7f3661ce42
chore: support adapter
option to use AshPostgres.Repo
2024-04-21 11:11:00 -04:00
Zach Daniel
8f1ae86db9
test: add some explicit destroy/soft destroy tests
2024-04-21 09:35:47 -04:00
Zach Daniel
4957ed28f3
fix: ensure that exists
with a filter paired with from_many?
functions properly
2024-04-20 14:39:53 +01:00
Zach Daniel
eb08fed28b
improvement: fixes for 3.0 changes and AshSql changes
2024-04-01 13:58:44 -04:00
Zach Daniel
efcc1a651b
improvement: move many internals out to AshSql
package
2024-03-31 22:38:12 -04:00
Zach Daniel
3647fc42ee
improvement: add default implementation for pg_version, and rename to min_pg_version
2024-03-27 19:20:49 -04:00
Zach Daniel
8a505607ab
ci: set PG_VERSION
better for CI
2024-03-27 17:46:51 -04:00
Zach Daniel
7bd63ffcaf
test: update tests with migration changes
2024-03-27 17:28:28 -04:00
Zach Daniel
3ad3f5f5d6
chore: update ash, resources and an error message
2024-03-27 17:03:16 -04:00
Zach Daniel
37cc01957d
improvement!: 3.0 ( #227 )
...
* WIP
* chore: fix mix.lock merge issues
* improvement: upgrade to 3.0
* chore: remove `repo.to_tenant`
* chore: continue removal of unnecessary helper
* chore: use `Ash.ToTenant`
2024-03-27 16:52:28 -04:00
Zach Daniel
5a513a82c2
fix: handle fully fleshed out aggregate fields
2024-03-22 02:13:07 -04:00
Zach Daniel
a0e2693998
fix: don't fail on aggregate query generation
...
fixes #225
2024-03-20 18:37:38 -04:00
Jinkyou Son
b60f680ab3
Fix: undo default of nulls_distinct option to true ( #223 )
2024-03-20 12:01:53 -04:00
Jinkyou Son
e27ce5e074
improvement: Add nulls_distinct option to CustomIndex ( #221 )
2024-03-12 20:22:34 -04:00
Zach Daniel
40481a17a0
fix: prevent ecto/pg from getting confused about the type of maps
2024-03-06 08:23:56 -05:00
Zach Daniel
43deb00e36
fix: properly handle multiple sorts in aggregate
2024-02-29 13:42:42 -05:00
Zach Daniel
f716e3bb69
fix: simplify(and fix) exists subquery generation
2024-02-28 22:55:53 -05:00
Zach Daniel
23dd650100
test: test improvements, regression test
2024-02-28 21:24:31 -05:00
Zach Daniel
b6b2dd1dc6
fix: handle more subquery filter cases for aggregates
2024-02-24 20:20:52 -05:00
Zach Daniel
f6d029d85b
improvement: add test for aggregates
2024-02-24 18:08:00 -05:00
Zach Daniel
37cb3825f1
fix: properly handle complex types in lists
2024-02-23 20:53:19 -05:00
Zach Daniel
c185ba80e8
fix: ensure select is properly set on delete_all
2024-02-21 16:37:28 -05:00
Zach Daniel
d0041ce88d
improvement: optimize aggregate query filtering
2024-02-21 14:03:28 -05:00
Zach Daniel
2b91ebe488
fix: ensure proper return value for single aggregate runs
2024-02-21 09:56:33 -05:00
Zach Daniel
b5b1077032
chore: fix recursion error in to_many_path?
2024-02-20 22:13:23 -05:00
Zach Daniel
38d1beb0d8
fix: properly handle to_many joins in aggregates
...
fix: honor aggregate query filters
2024-02-20 18:38:35 -05:00
Zach Daniel
557bc6019c
fix: handle non-inner joins in delete_all
...
fix: handle non-inner joins in update
2024-02-19 13:29:41 -05:00
Zach Daniel
7cbe482fc9
fix: don't update_all or delete_all with order_by
2024-02-19 12:40:26 -05:00
Zach Daniel
0979756b0b
fix: handle updating from queries w/ non-inner initial joins
2024-02-19 11:56:48 -05:00
Minsub Kim
96c367689d
test: filter by has_one from_many? ( #209 )
2024-02-19 09:04:14 -05:00
Zach Daniel
3fd5a7a907
test: add some tests for atomics
2024-02-15 10:54:20 -05:00
Zach Daniel
2d18c9cbeb
fix: properly alter renaming attributes in migration generator
...
fixes #207
2024-02-15 09:23:48 -05:00
Zach Daniel
256b4d0b9a
test: add test for filter policy on bulk actions
2024-02-14 17:54:28 -05:00
Zach Daniel
7a4fe87561
chore: update ash, add tests
2024-02-14 13:56:58 -05:00
Zach Daniel
3146d5f97d
chore: update ash, add tests for field policies
2024-02-14 11:04:06 -05:00
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
b018262637
test: add new test verifying batch destroy behavior
...
chore: add sobelow warning skip
2024-02-01 13:09:06 -05:00
Zach Daniel
d71cb81792
improvement: handle if select is present on query
2024-01-31 16:30:23 -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
Zach Daniel
8c43deea9b
fix: properly build subqueries when required for relationship queries
2024-01-30 15:21:59 -05:00
Barnabas Jovanovics
fbd41407c3
test: add test that shows subquery error ( #199 )
2024-01-30 13:17:40 -05:00
Zach Daniel
ffafa6c9f5
improvement: support Ash.Changeset.OriginalDataNotAvailable
2024-01-30 12:49:52 -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
Ryan
64e117603a
fix: Correct the matching used in building a distinct expression ( #196 )
2024-01-26 15:04:54 -05:00
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
f20a07f54b
improvement: support latest ash changes
2024-01-19 00:12:50 -05:00
Zach Daniel
97847da734
fix: include explicit schema in snapshot folder name
...
closes #193
2024-01-16 23:44:49 -05:00
Zach Daniel
b93b1d722b
improvement: support all_tenants?
option for identities
...
improvement: support `all_tenants?` option for custom indexes
2024-01-12 10:11:16 -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
c0c9621534
improvement: support new bulk operations
...
fix: support encoding errors with expressions in them
2023-12-31 08:40:30 -05:00
Zach Daniel
2a2fd30e33
improvement: support new return_query/2
callback
...
improvement: support new `:no_rollback` error signal
2023-12-29 21:49:34 -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
Zach Daniel
9bc5b2af9f
improvement: support string_length and string_trim
2023-12-21 19:52:29 -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
Barnabas Jovanovics
c916034931
fix: replace upsert field with source in EXCLUDED fragment ( #187 )
2023-12-19 15:05:05 +01:00
Zach Daniel
ac980a2163
chore: fix error expression
2023-12-15 08:48:20 -05:00
Zach Daniel
407a7163ed
improvement: support for error/2
expression
2023-12-14 17:10:11 -05: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