fix: ensure select is properly set on delete_all

This commit is contained in:
Zach Daniel 2024-02-21 16:37:28 -05:00
parent d0041ce88d
commit c185ba80e8
2 changed files with 4 additions and 2 deletions

View file

@ -1557,6 +1557,7 @@ defmodule AshPostgres.DataLayer do
from(row in query.from.source, [])
|> default_bindings(resource, changeset.context)
|> Ecto.Query.exclude(:select)
|> Ecto.Query.exclude(:order_by)
on =
Enum.reduce(Ash.Resource.Info.primary_key(resource), nil, fn key, dynamic ->
@ -1571,11 +1572,12 @@ defmodule AshPostgres.DataLayer do
end)
from(row in root_query,
select: row,
join: subquery(query),
on: ^on
)
else
Ecto.Query.exclude(query, :select)
Ecto.Query.exclude(query, :order_by)
end
{_, results} =

View file

@ -33,7 +33,7 @@ defmodule AshPostgres.BulkDestroyTest do
Post
|> Ash.Query.filter(author.first_name == "fred" or title == "fred")
|> Api.bulk_destroy!(:update, %{})
|> Api.bulk_destroy!(:update, %{}, return_records?: true)
assert [%{title: "george"}] = Api.read!(Post)
end