Commit graph

645 commits

Author SHA1 Message Date
Zach Daniel
4872e357ed chore: format code 2021-08-01 14:08:03 -04:00
Zach Daniel
288cf49153 fix: honor on_missing: behavior for belongs_to relationships 2021-07-31 16:07:51 -04:00
Zach Daniel
9e5e958feb fix: properly remove old belongs_to records 2021-07-30 12:42:24 -04:00
Zach Daniel
73578f6806 chore: remove IO.inspect 2021-07-27 23:04:22 -04:00
Zach Daniel
1f5538c7f0 fix: set source_query tenant in lateral join 2021-07-27 22:58:45 -04:00
Zach Daniel
13e06524a7 improvement: add belongs_to attributes *after* the others 2021-07-26 20:55:44 -04:00
Zach Daniel
8f88cca020 improvement: pull relationship paths out of functions 2021-07-25 17:58:27 -04:00
Zach Daniel
dd7f5a8e8b fix: no need to trap exits anymore 2021-07-23 13:16:42 -04:00
Zach Daniel
80e64ee4ad fix: don't match on explicitly :exit 2021-07-23 12:12:37 -04:00
Zach Daniel
e0605f2bf0 fix: catch normal exit message from engine 2021-07-23 09:53:25 -04:00
Zach Daniel
b2ae6dc3ea fix: flush engine state always 2021-07-23 09:45:47 -04:00
Zach Daniel
4ea0e62a79 chore: ensure compiled in a different place
chore: credo
2021-07-22 16:26:02 -04:00
Frank Dugan III
8ba1a9a4c8
feat(Ash.Resource.Info): add &public_field/2 helper (#254)
feat(Ash.Resource.Info): add &sortable?/3 helper
2021-07-22 16:23:54 -04:00
Zach Daniel
d95a0e1662 fix: load calculations from sorts properly 2021-07-22 15:22:53 -04:00
Zach Daniel
11c1762f82 fix: fix complex attribute check 2021-07-22 13:20:42 -04:00
Zach Daniel
579c83e20c fix: disallow aggregate/calculation sorting w/ keyset pagination
This can be fixed by configuring pagination to fetch the resource by keyset
(so keyset is only ever primary key), but will perform worse because
we have to fetch the record. If someone would like to implement this,
let me know.
2021-07-22 12:47:43 -04:00
Zach Daniel
64568e5526 imrovement: handle sorts w/o an order in keyset pagination 2021-07-22 11:24:42 -04:00
Zach Daniel
0b8b704e2c fix: ensure calculation compiled 2021-07-21 00:07:35 -04:00
Zach Daniel
247abbb833 fix: don't limit/offset aggregate queries 2021-07-19 22:07:00 -04:00
Zach Daniel
857b0d0a12 fix: call get_type in cast_stored again 2021-07-19 20:58:18 -04:00
Zach Daniel
42aa56237b improvement: speed up type loading
improvement: add `__order__` field to be used by data layers
chore: fix typespec for aggregates
2021-07-19 13:52:49 -04:00
Zach Daniel
1df33b7efd improvement: add force? option to apply_attributes/2 2021-07-18 19:25:54 -04:00
Zach Daniel
e306e1d7fc fix: missing apply_attributes clause 2021-07-18 18:22:59 -04:00
Zach Daniel
2d9d96e699 fix: demonitor engine pid after run 2021-07-18 03:26:57 -04:00
Zach Daniel
0427a7a7c4 fix: on_lookup read is always on destination 2021-07-18 02:30:04 -04:00
Zach Daniel
e6010816c3 chore: fix dialyzer 2021-07-16 20:09:40 -04:00
Zach Daniel
03e5ae4a7a fix: set item constraints properly
improvement: add on_lookup_read_action
2021-07-16 20:01:36 -04:00
Zach Daniel
19199f5b00 improvement: add in error paths for managed relationships 2021-07-14 20:14:40 -04:00
Zach Daniel
38a08bf2a6 improvement: set error paths on managed rels 2021-07-14 01:47:45 -04:00
Zach Daniel
409e47e02c fix: fix simple data layer filtering 2021-07-11 19:18:43 -04:00
Zach Daniel
50b23a1656 improvement: always replace error message vars
improvement: minimize relationship source changeset context inspect size
2021-07-09 13:07:49 -04:00
Darren Black
6b6062ace6
Fix atom casting more (#253) 2021-07-08 00:39:01 -04:00
Darren Black
57da53a7bc
Fix atom casting when empty string (#252) 2021-07-08 00:24:05 -04:00
Zach Daniel
678533a8cb chore: remove unused variable 2021-07-07 23:52:33 -04:00
Zach Daniel
c9a19a7c2c fix: cast empty string to nil in atom 2021-07-07 23:51:54 -04:00
Zach Daniel
e2cd33fac3 fix: accept strings for atom types again 2021-07-07 22:25:41 -04:00
Zach Daniel
a8b137c1bb fix: don't turn strings to atoms in :atom type 2021-07-07 16:31:52 -04:00
Darren Black
1d2befc6c9
docs: Fix atom constraint documentation (#251) 2021-07-07 00:29:35 -04:00
Zach Daniel
cc9efeee14 fix: don't do unnecessary validation in type 2021-07-06 19:57:58 -04:00
Zach Daniel
65113a075f fix: build aggregate paths properly 2021-07-05 14:25:04 -04:00
Zach Daniel
da77b2e824 improvement: info only required? flag for has_one 2021-07-04 16:42:47 -04:00
Zach Daniel
5f05f683c2 fix: properly determine reverse aggregate relationship
fix: ensure calculation modules are compiled
2021-07-02 12:37:58 -04:00
Zach Daniel
382d39175b fix: attempt to fix calculation compile time issues 2021-07-02 01:13:07 -04:00
Zach Daniel
6c285c05f8 chore: fix calculate example 2021-07-01 22:11:31 -04:00
Zach Daniel
3aa6b6f49f docs: document expressions 2021-07-01 22:07:31 -04:00
Zach Daniel
4b23dd179f fix: allow sorting on aggs, w/o loading 2021-07-01 15:22:48 -04:00
Zach Daniel
1f53644070 fix: ensure query in ensure_selected 2021-06-29 12:16:11 -04:00
Zach Daniel
414119116a chore: fix warnings/compiler errors 2021-06-28 13:27:31 -04:00
Zach Daniel
602ba78e9c fix: handle sorting empty data properly
fix: manage ets tables properly

for context, we had a problem where `RequestHandlers`
would live forever, but were tiny. A change to the internal
engine caused request handlers to be less tiny, which exposed
the process leak. When we fixed the process leak, it became apparent
that the ets table creation was incorrect, as the owning process for
a non-private table could be the request handler, meaning it was
transient. We solve this by having a `TableManager` for each resource/
tenant combo, which owns the ets table in question
2021-06-28 13:20:37 -04:00
Zach Daniel
294480ee34 fix: link request handler to engine and runner, solve mem leak 2021-06-28 12:05:03 -04:00