improvement: don't select when running policy queries

This commit is contained in:
Zach Daniel 2023-03-10 00:17:44 -05:00
parent 7acce3254c
commit 3233129682
2 changed files with 8 additions and 2 deletions

View file

@ -541,11 +541,15 @@ defmodule Ash.Api do
{:cont, {true, query}} {:cont, {true, query}}
{:filter, _authorizer, filter} -> {:filter, _authorizer, filter} ->
query = query || Ash.Query.new(query_or_changeset.resource, api) query =
query || Ash.Query.new(query_or_changeset.resource, api) |> Ash.Query.select([])
{:cont, {true, query |> Ash.Query.filter(^filter)}} {:cont, {true, query |> Ash.Query.filter(^filter)}}
{:filter, filter} -> {:filter, filter} ->
query = query || Ash.Query.new(query_or_changeset.resource, api) query =
query || Ash.Query.new(query_or_changeset.resource, api) |> Ash.Query.select([])
{:cont, {true, Ash.Query.filter(query, ^filter)}} {:cont, {true, Ash.Query.filter(query, ^filter)}}
{:continue, _} -> {:continue, _} ->

View file

@ -823,6 +823,7 @@ defmodule Ash.Engine.Request do
new_query new_query
|> Map.put(:api, request.api) |> Map.put(:api, request.api)
|> Ash.Query.select([])
|> Ash.Query.data_layer_query() |> Ash.Query.data_layer_query()
|> case do |> case do
{:ok, data_layer_query} -> {:ok, data_layer_query} ->
@ -874,6 +875,7 @@ defmodule Ash.Engine.Request do
query_with_pkey_filter query_with_pkey_filter
|> Map.put(:api, request.api) |> Map.put(:api, request.api)
|> Ash.Query.select([])
|> Ash.Query.data_layer_query() |> Ash.Query.data_layer_query()
|> case do |> case do
{:ok, data_layer_query} -> {:ok, data_layer_query} ->