mirror of
https://github.com/ash-project/ash_postgres.git
synced 2024-09-20 13:33:50 +12:00
fix: ensure select is properly set on delete_all
This commit is contained in:
parent
d0041ce88d
commit
c185ba80e8
2 changed files with 4 additions and 2 deletions
|
@ -1557,6 +1557,7 @@ defmodule AshPostgres.DataLayer do
|
||||||
from(row in query.from.source, [])
|
from(row in query.from.source, [])
|
||||||
|> default_bindings(resource, changeset.context)
|
|> default_bindings(resource, changeset.context)
|
||||||
|> Ecto.Query.exclude(:select)
|
|> Ecto.Query.exclude(:select)
|
||||||
|
|> Ecto.Query.exclude(:order_by)
|
||||||
|
|
||||||
on =
|
on =
|
||||||
Enum.reduce(Ash.Resource.Info.primary_key(resource), nil, fn key, dynamic ->
|
Enum.reduce(Ash.Resource.Info.primary_key(resource), nil, fn key, dynamic ->
|
||||||
|
@ -1571,11 +1572,12 @@ defmodule AshPostgres.DataLayer do
|
||||||
end)
|
end)
|
||||||
|
|
||||||
from(row in root_query,
|
from(row in root_query,
|
||||||
|
select: row,
|
||||||
join: subquery(query),
|
join: subquery(query),
|
||||||
on: ^on
|
on: ^on
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
Ecto.Query.exclude(query, :select)
|
Ecto.Query.exclude(query, :order_by)
|
||||||
end
|
end
|
||||||
|
|
||||||
{_, results} =
|
{_, results} =
|
||||||
|
|
|
@ -33,7 +33,7 @@ defmodule AshPostgres.BulkDestroyTest do
|
||||||
|
|
||||||
Post
|
Post
|
||||||
|> Ash.Query.filter(author.first_name == "fred" or title == "fred")
|
|> 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)
|
assert [%{title: "george"}] = Api.read!(Post)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue