Commit graph

644 commits

Author SHA1 Message Date
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
Zach Daniel
9edde198ef fix: joining to from_many?: true relationships not honoring limit 2024-02-19 09:27:16 -05:00
Zach Daniel
6cb53dc8d7 fix: allow subquerying a through while aggregating a many to many 2024-02-15 23:11:44 -05:00
Zach Daniel
cde117e18b fix: don't subquery if we need to reference parent_as 2024-02-15 23:06:24 -05:00
Zach Daniel
bdcf97a638 fix: avoid double wrapping in subqueries 2024-02-15 22:58:11 -05:00
Zach Daniel
fd746a784c fix: properly set 0 binding on joined subquery creation
fixes #208
2024-02-15 11:57:17 -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
8f10c9b824 chore: update credo 2024-02-14 12:12:54 -05:00
Zach Daniel
930d16a5e9 fix: handle original data not available in destroy_query 2024-02-12 10:08:48 -05:00
Barnabas Jovanovics
a9d38e91e1
Improvement: mark (i)like functions as predicates (#205) 2024-02-07 14:45:34 -05:00
Zach Daniel
1ea360d15c improvement: detect bigserial when altering attributes
closes #204
2024-02-07 14:39:38 -05:00
Zach Daniel
c72b57ece5 fix: use primary key of source as join key 2024-02-06 12:39:16 -05:00
Kilian Cirera Sant
b2b05618b5
improvement: Include modules in installed_extensions return type (#202)
As per the documentation (and indeed the actual behavior):

> Extensions can be a string, representing a standard postgres
extension, or a module that implements `AshPostgres.CustomExtension`.
2024-02-05 16:52:09 -05:00
Zach Daniel
809cd5582f improvement: don't drop primary key in case of removal 2024-02-04 10:12:39 -05:00
Eduardo B. A
a8b7f3b3e7
feat: Make MigrationGenerator accept atoms (#201)
Co-authored-by: Eduardo B. Alexandre <sezdocs@github.com>
2024-02-02 12:25:02 -05:00
Zach Daniel
43b576e09d fix: use pkey if error fields is empty 2024-02-01 15:48:23 -05:00
Zach Daniel
4494bf971f chore: changeset.resource -> resource 2024-02-01 15:21:50 -05:00
Zach Daniel
de7d6feaa3 fix: forgot to bind keys to a variable 🤦🏻 2024-02-01 15:12:17 -05:00
Zach Daniel
a940022eba fix: ensure identity keys is never missing 2024-02-01 14:59:49 -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
8c43deea9b fix: properly build subqueries when required for relationship queries 2024-01-30 15:21:59 -05:00
Zach Daniel
ffafa6c9f5 improvement: support Ash.Changeset.OriginalDataNotAvailable 2024-01-30 12:49:52 -05:00
Zach Daniel
4930a69b95 improvement: support count_nils expression 2024-01-29 17:17:32 -05:00
Zach Daniel
b1d10c32cc chore: fix credo and update ash 2024-01-29 16:57:04 -05:00
Zach Daniel
a05783d422 fix: only migrate/rollback one repo at a time
fixes #197
2024-01-29 16:47:55 -05:00
Zach Daniel
647a268183 chore: skip sobelow warning 2024-01-29 15:52:08 -05:00
Zach Daniel
7b9929f07c chore: format 2024-01-29 10:36:20 -05:00
Zach Daniel
5952889ac7 chore: remove IO.inspect 2024-01-29 10:25:27 -05:00
Zach Daniel
2b813c8975 chore: consider ignore_fields when comparing custom indexes 2024-01-27 10:56:11 -05:00
Zach Daniel
98b1d2ad6c improvement: error_fields for custom_index
fix: proper return types for updates from queries
fix: allow atomics to return `nil`
2024-01-27 10:02:57 -05:00
Ryan
64e117603a
fix: Correct the matching used in building a distinct expression (#196) 2024-01-26 15:04:54 -05:00
Zach Daniel
29da61d661 chore: format 2024-01-24 12:49:38 -05:00
Zach Daniel
9926d5cb7c fix: only rollback to savepoint on specific errors 2024-01-24 11:37:24 -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
445de282c0 fix: remap selected fields, don't subquery in aggregate joins 2024-01-19 20:13:42 -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
Jechol Lee
62a640ecb7
fix: Support all_tenants? in custom index (#194) 2024-01-15 05:40:05 -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
40c1a13652 fix: unset sort/distinct on related queries 2024-01-11 23:17:05 -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
Zach Daniel
8bfa3ffa08 fix: don't overwrite manually set schema on lateral join query 2024-01-10 08:19:21 -05:00
Zach Daniel
8976ab6722 improvement: use the target action when generating related queries 2024-01-09 08:31:06 -05:00
Zach Daniel
a60dbf1725 fix: properly configure polymorphic_name option 2024-01-08 08:39:13 -05:00
Zach Daniel
65180ec3ac fix: honor configured schema on bulk create 2024-01-05 10:01:40 -05:00
Zach Daniel
f1d5d483a6 fix: properly gather types for operator & function overloads 2024-01-04 14:08:05 -05:00
Zach Daniel
3cb33723fe improvement: support latest ash version & operator overrides 2024-01-04 01:09:16 -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
9d6c17f2c2 chore: remove inspect 2023-12-27 10:21:57 -05:00
Zach Daniel
6ff25bf342 improvement: require name when generating migrations 2023-12-27 10:08:13 -05:00
Zach Daniel
89a4363c1f improvement: support directly referencing aggregates from aggregates 2023-12-23 10:39:54 -05:00
Zach Daniel
46118a77ca improvement: support aggregates as get_path subject 2023-12-22 22:23:49 -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
5d246cc23b chore: take proper args from codegen args 2023-12-22 15:11:49 -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
8192d1eb3b improvement: clean up nested if statements to single case statements 2023-12-19 22:00:40 -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
5e0f3c4657 fix: handle strings in get_path 2023-12-15 18:11:18 -05: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
54908395eb fix: reenable mix tasks that need calling 2023-12-06 18:53:37 -05:00
Zach Daniel
51f51d92d2 fix: properly cast lazy update defaults to target type 2023-12-04 14:55:40 -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
47e378e196 chore: fix dialyzer 2023-11-29 09:22:51 -05:00
Zach Daniel
592e79a2f9 improvement: support composite types 2023-11-27 17:47:54 -05:00
Zach Daniel
dc984e83c7 fix: avoid empty error on upserts with :nothing
docs: add some small docs for custom extensions
2023-11-27 11:12:22 -05:00
Barnabas Jovanovics
9c5dd0304e
chore: remove IO.inspect (#185) 2023-11-22 14:43:44 -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
Riccardo Binetti
021b7e4233
improvement: allow specifying multi-column foreign keys (#180)
* improvement: add match_with option on references
* improvement: add match_type option on references
2023-11-20 16:52:50 -05:00
Zach Daniel
fcda627050 fix: hydrate aggregate refs when adding for calculations 2023-11-20 07:05:47 -05:00
Zach Daniel
48e8a414da chore: add error context to hydrate references 2023-11-20 06:38:43 -05:00
Zach Daniel
944a4e128e chore: format and fix matrix 2023-11-17 09:17:11 -05:00
Zach Daniel
bdcbd647f3 fix: apply limit to from_many? relationship joins 2023-11-17 09:03:25 -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
ae90b66056 chore: credo/dialyzer 2023-11-16 17:55:27 -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
f62eef176a chore: remove testing variable 2023-11-16 11:15:11 -05:00
Zach Daniel
ef96cd541e fix: use synonymous_relationship_path when looking up ref bindings 2023-11-16 11:02:24 -05:00
Zach Daniel
4f5312a089 fix: add calculation context to calculation expressions 2023-11-16 08:31:50 -05:00
Zach Daniel
4d672ba088 fix: don't append update_defaults automatically if upsert_fields was set 2023-11-15 16:08:44 -05:00
Zach Daniel
ce628384d2 fix: don't ensure repo compiled at compile time 2023-11-14 13:59:30 -05:00
Zach Daniel
2b29f728e2 fix: handle additional case for new functional repo callback 2023-11-14 12:59:42 -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
082210933f improvement: spport CURRENT_DATE default 2023-10-27 10:33:03 -04:00
Zach Daniel
bc4b69a568 chore: ensure type is compiled 2023-10-27 00:06:55 -04:00
Zach Daniel
342920a3c4 improvement: support parent in sort expressions 2023-10-26 09:47:56 -04:00
Zach Daniel
ad9d18aecb improvement: join relationships for aggregate filters 2023-10-25 12:59:03 -04:00