diff --git a/documentation/moved/upgrade.md b/documentation/moved/upgrade.md new file mode 100644 index 00000000..e29d1337 --- /dev/null +++ b/documentation/moved/upgrade.md @@ -0,0 +1,3 @@ +# Upgrade + +This document has been [moved](upgrading-to-3-0.html). diff --git a/lib/ash/query/query.ex b/lib/ash/query/query.ex index f21354b4..8c048179 100644 --- a/lib/ash/query/query.ex +++ b/lib/ash/query/query.ex @@ -471,6 +471,10 @@ defmodule Ash.Query do type: {:protocol, Ash.ToTenant}, doc: "set the tenant on the query" ], + load: [ + type: :any, + doc: "A load statement to apply to the query" + ], skip_unknown_inputs: [ type: {:wrap_list, {:or, [:atom, :string]}}, doc: @@ -523,6 +527,12 @@ defmodule Ash.Query do "query:" <> Ash.Resource.Info.trace_name(query.resource) <> ":#{action_name}" end + query = if opts[:load] do + load(query, opts[:load]) + else + query + end + Ash.Tracer.span :query, name, opts[:tracer] do diff --git a/mix.exs b/mix.exs index 640a052e..b5616df7 100644 --- a/mix.exs +++ b/mix.exs @@ -77,6 +77,7 @@ defmodule Ash.MixProject do "documentation/topics/development/testing.md", "documentation/topics/development/development-utilities.md", "documentation/topics/development/upgrading-to-3.0.md", + "documentation/moved/upgrade.md", "documentation/topics/security/actors-and-authorization.md", "documentation/topics/security/sensitive-data.md", "documentation/topics/security/policies.md", @@ -115,6 +116,9 @@ defmodule Ash.MixProject do Reference: [ ~r"documentation/topics/reference", ~r"documentation/dsls" + ], + Moved: [ + ~r"documentation/moved" ] ], skip_undefined_reference_warnings_on: [ diff --git a/test/actions/load_test.exs b/test/actions/load_test.exs index d1eb95d7..79cae9d0 100644 --- a/test/actions/load_test.exs +++ b/test/actions/load_test.exs @@ -601,7 +601,7 @@ defmodule Ash.Test.Actions.LoadTest do [author] = Author - |> Ash.Query.load(posts: [:author]) + |> Ash.Query.for_read(:read, %{}, load: [posts: [:author]]) |> Ash.Query.filter(posts.id == ^post1.id) |> Ash.read!(authorize?: true)