Zach Daniel
bc9718d063
chore: fix dialyzer
2024-02-28 23:42:48 -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
2b3b6b0bc9
fix: properly leverage subqueries throughout relationship joining
2024-02-28 21:22:54 -05:00
Zach Daniel
61045700a2
chore: clarify join semantics
2024-02-28 21:22:54 -05:00
Robert Graff
b44d8cdc55
Fix: migration generator extensions in multiple repos ( #214 )
...
* Fix: Migration generator for extensions in multiple repos
* Do not rename legacy file on dry_run
2024-02-27 20:23:18 -05:00
Zach Daniel
735d7a202f
chore: fix syntax error from unsaved file
2024-02-26 15:56:46 -05:00
Zach Daniel
480eadccf1
fix: fix error when encoding vectors
2024-02-26 15:46:29 -05:00
Zach Daniel
6455bef6ed
fix: ensure select is applied (or not) properly in bulk update/destroys
2024-02-25 21:35:33 -05:00
Zach Daniel
b6b2dd1dc6
fix: handle more subquery filter cases for aggregates
2024-02-24 20:20:52 -05:00
Zach Daniel
98f24b1923
Revert "fix: remove buggy global filter extraction"
...
This reverts commit 7c3b60b942
.
2024-02-24 17:35:43 -05:00
Zach Daniel
7c3b60b942
fix: remove buggy global filter extraction
2024-02-24 17:20:03 -05:00
Zach Daniel
8fa10ac6ec
fix: only apply filters inside aggregate subquery
2024-02-24 17:10:01 -05:00
Zach Daniel
37cb3825f1
fix: properly handle complex types in lists
2024-02-23 20:53:19 -05:00
Zach Daniel
5052463767
fix: properly apply lateral join conditions to left lateral joins
2024-02-22 07:31:06 -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
6e81afb24b
fix: don't sort a query that will be used with delete_all
...
fix: ensure that `exists?` aggregates use `repo.exists?`
2024-02-21 07:54:58 -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
Dmitry Maganov
46928521c0
fix: use proper tables in joins originating from polymorphic resource ( #211 )
2024-02-20 11:15:56 -05:00
Dmitry Maganov
d2500b25f3
fix: properly transfer table names to non-inner wrapper queries ( #210 )
2024-02-20 11:15:06 -05:00
Zach Daniel
40522aadd8
chore: properly set __ash_bindings__ on bulk updatable query
2024-02-19 13:49:11 -05:00
Zach Daniel
f9a59cc5f6
chore: update style for credo
2024-02-19 13:35:36 -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
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
Zach Daniel
9769d995b3
chore: fix unused variable
2023-10-25 08:44:32 -04:00
Zach Daniel
53bb5941e8
fix: don't traverse new types for storage type
2023-10-24 12:54:31 -04:00
Zach Daniel
52302046e1
fix: properly join to related references in relationship filters
2023-10-24 12:25:23 -04:00
Zach Daniel
0325196a20
improvement: allow for combining AshPostgres.Repo
with other repos
...
fixes #172
2023-10-13 22:47:11 -04:00
Zach Daniel
cd6a7cae69
fix: don't raise all errors
2023-10-11 16:26:48 -04:00
Zach Daniel
1a6e469e57
improvement: support atomics on upserts
2023-10-11 15:17:50 -04:00
Zach Daniel
c6d71d74bf
fix: fix type specification for foreign_key_names
2023-10-10 15:47:53 -04:00
Zach Daniel
f67db5ee6d
chore: handle ci_string type as storage type
2023-10-10 14:16:25 -04:00
Zach Daniel
9f62d65215
improvement: support :ci_string
as a storage_type
2023-10-10 14:12: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
Zach Daniel
5fdc81bf06
fix: subquery aggregate if limit is applied
2023-10-03 12:56:44 -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
99e8029499
improvement: fix upsert_fields
behavior for upserts
2023-09-25 15:32:20 -04:00
Zach Daniel
b00dcf20c9
chore: format & fix docs
2023-09-22 17:16:47 -04:00
Zach Daniel
cca5f0244b
chore: fix type names I just broke
2023-09-22 17:04:39 -04:00
Zach Daniel
a56f4ef52f
docs: overhaul hexdocs
2023-09-22 16:14:25 -04:00
Zach Daniel
49490e6fb4
improvement: support data_layer_context option on transactions
...
chore: refactor create/upsert to use bulk create
2023-09-22 15:43:17 -04:00
Dmitry Maganov
b03fb51c36
fix: use :wrap_list
type instead of custom validaitons ( #167 )
2023-09-21 15:44:02 -04:00
Zach Daniel
81ce903e61
improvement: add AshPostgres.Tsvector
2023-09-20 17:28:24 -04:00
Zach Daniel
b35f8c715b
improvement: add AshPostgres.Tsquery
2023-09-20 16:41:32 -04:00
Zach Daniel
e8a4b41758
improvement: support vector types and vector_cosine_distance
2023-09-11 22:34:51 -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
5182a1c6d0
improvement: implement ash lifecycle tasks
2023-09-04 13:08:14 -04:00