All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
v0.2.44 (2025-01-06)
-
filter query by source record ids when lateral joining
-
use
normalize
for string length -
use right value for resource aggregate default in sort (#85)
-
handle resource aggregate with function default in sort (#84)
v0.2.43 (2024-12-26)
- return
{:empty, query}
on empty atomic changes
v0.2.42 (2024-12-20)
- properly bind many to many relationships in aggregates
v0.2.41 (2024-12-12)
-
apply attribute multitenancy on joined resources
-
use lateral join for parent_expr many to many joins
-
ensure join binding is available for join resource in exists
-
add missing pattern for setting group context
v0.2.40 (2024-12-06)
- various fixes to the methodology behind type determination
v0.2.39 (2024-11-04)
- properly reference
from_many?
source binding while joining
v0.2.38 (2024-10-29)
- ensure we join on parent expressions when joining filtered relationships
v0.2.37 (2024-10-28)
-
properly determine join style for parent expressions
-
count: use asterisk if not distinct by field is given (#72)
v0.2.36 (2024-10-08)
- properly handle parent bindings in aggregate references
v0.2.35 (2024-10-07)
-
properly group aggregates together
-
don't attempt to add multiple filter statements to a single aggregate
v0.2.34 (2024-09-27)
- use
NULL
for cases where we getnil
values. We actually wantnil
here.
v0.2.33 (2024-09-26)
- don't reorder selects when modifying for subquery presence
v0.2.25 (2024-07-22)
- track subqueries while selecting atomics
v0.2.24 (2024-07-17)
- properly determine
parent_as
bindings for nested joins
v0.2.23 (2024-07-17)
-
fix build
-
properly expand resource calculation/aggregates in fields
v0.2.22 (2024-07-16)
-
properly adjust calculation expressions before adding to query
-
properly traverse nested maps in non-select contexts
-
pass correct resource down when adding calculation fields
v0.2.21 (2024-07-16)
-
move
FILTER
outside ofarray_agg
aggregation -
properly honor
include_nil?
option on sorted first aggregates
v0.2.20 (2024-07-15)
- don't set load on anonymous aggregates
v0.2.19 (2024-07-15)
- match on old return types for
determine_types
code
v0.2.18 (2024-07-15)
- properly set aggregate query context
v0.2.17 (2024-07-14)
- use
determine_types/3
in callback
v0.2.16 (2024-07-14)
- cast atomics when creating expressions
- support latest format for type determination type
v0.2.15 (2024-07-13)
- use original field for type signal when selecting atomics
v0.2.14 (2024-07-13)
- use explicit
NULL
fragment in error type hints
v0.2.13 (2024-07-12)
- use expression type for atomic updates
v0.2.12 (2024-07-12)
- properly handle nested
nil
filters in boolean statements
v0.2.11 (2024-07-11)
- select pkey so data layers don't have to
v0.2.10 (2024-07-08)
- ensure selected atomics are also reversed
v0.2.9 (2024-07-08)
- retain original order for atomics statements
v0.2.8 (2024-07-06)
- handle
{:array, :map}
stored as:map
v0.2.7 (2024-06-27)
- prefer resource's static prefix over current query's prefix
v0.2.6 (2024-06-18)
- ensure we always honor
atomics_at_binding
option from data layer
v0.2.5 (2024-06-13)
- properly remap selects on nested subqueries
v0.2.4 (2024-06-13)
-
remap nested selects when sort requires a subquery
-
don't create dynamics for map atomics where there are no expressions
- only use
jsonb_build_object
for expressions, not literals
v0.2.3 (2024-06-06)
- various fixes to retain lateral join context
v0.2.2 (2024-06-05)
- carry over tenant in joined queries
v0.2.1 (2024-06-02)
- select dynamics uses
__new_
prefix
v0.2.0 (2024-05-29)
-
add auto dispatch of dynamic_expr calls to behaviour module (#33)
-
add auto dispatch of dynamic_expr calls to behaviour module
- match on new & old parameterized types
- support selecting atomic results into a subquery, and using those as the atomic values
v0.1.3 (2024-05-22)
-
handle anonymous sorting aggregates
-
properly set aggregate source binding when adding aggregate calculations
-
use period notation to access aggregate context fields (#30)
-
use SQL standard = instead of non standard == (#28)
v0.1.2 (2024-05-10)
v0.1.1-rc.20 (2024-05-08)
- don't use
fragment("1")
because ecto requires a proper select
v0.1.1-rc.19 (2024-05-05)
- use calculation context, and set calculation constraints for aggregates
v0.1.1-rc.18 (2024-05-05)
-
don't use
ilike
if its not supported -
use type for now expr if available
v0.1.1-rc.17 (2024-05-02)
- use manual relationship impl for exists subqueries
v0.1.1-rc.16 (2024-05-01)
- hydrate & fill template for related queries
v0.1.1-rc.15 (2024-04-29)
- properly support custom expressions
v0.1.1-rc.14 (2024-04-29)
-
fix argument order in AshSql.Bindings.default_bindings/4
-
query_with_atomics pattern matching error
-
fix argument order in AshSql.Bindings.default_bindings/4
v0.1.1-rc.13 (2024-04-27)
- better inner-join-ability detection
v0.1.1-rc.12 (2024-04-26)
- better type casting logic
v0.1.1-rc.11 (2024-04-23)
-
ensure tenant is properly set in aggregates
-
properly pass context through when expanding calculations in aggregates
v0.1.1-rc.10 (2024-04-22)
- optimize
contains
when used with literal strings
v0.1.1-rc.9 (2024-04-22)
- make
strpos_function
overridable (sqlite usesinstr
)
v0.1.1-rc.8 (2024-04-22)
- handle non-literal lists in string join
v0.1.1-rc.7 (2024-04-20)
-
ensure that
from_many?
is properly honored -
ensure applied query gets joined
-
apply related filter inside of related subquery
v0.1.1-rc.6 (2024-04-12)
- apply aggregate filters on first join aggregates
v0.1.1-rc.5 (2024-04-11)
-
don't use to_tenant
-
loosen elixir requirements
-
automatically wrap fragments in parenthesis
-
remove unnecessary parenthesis from builtin fragments
v0.1.1-rc.4 (2024-04-05)
- loosen ash rc restriction
v0.1.1-rc.3 (2024-04-01)
- fixes for
ash_postgres
v0.1.1-rc.2 (2024-04-01)
- refactoring out and parameterization to support ash_sqlite
v0.1.1-rc.1 (2024-04-01)
- remove postgres-specific copy-pasta
v0.1.1-rc.0 (2024-04-01)
v0.1.0 (2024-04-01)
- extract a bunch of things out of AshPostgres