Describe the bug
Raised error when trying to execute update mutation with identity false and read_action action_x, and action_x has a prepare with Ash.Query.after_action().
The logged error starts as:
# 13:38:11.914 [warning] `fa343d97-883c-4734-9696-60e52b4bcfd4`: AshGraphql.Error not implemented for error:
# ** (Ash.Error.Invalid.NoMatchingBulkStrategy) AshGraphql.Test.User.update had no matching bulk strategy that could be used.
# Requested strategies: [:atomic]
# Could not use `:stream`: could not stream the query
# Could not use `:atomic_batches`: Not in requested strategies
# Could not use `:atomic`: cannot atomically update a query if it has `before_action` or `after_action` hooks
Describe the bug Raised error when trying to execute
update
mutation withidentity false
andread_action action_x
, andaction_x
has aprepare
withAsh.Query.after_action()
.The logged error starts as:
To Reproduce
See this modification of ash_graphl's tests.
update_current_user
, withread_action :current_user
.:current_user
action, definedprepare
that callsAsh.Query.after_action()
, whose callback returns{:ok, results}
."updateCurrentUser"
.Note: The
after_action()
callback in this example is essentially a no-op or identity function, but in my application, it does something useful.Expected behavior
"updateCurrentUser"
test should pass.** Runtime
main
Additional context
This started happening while I was upgrading to Ash 3.0.