graphile/crystal

Unexpected steps execution order in mutations

Opened this issue · 0 comments

hos commented

Summary

When running a step inside a mutation, before the mutation plan itself, the expected behavior is that all other steps
should be executed before the mutation step as discussed here. But the actual behavior
is that mutation is executed before the other steps if they are not marked as hasSideEffect=true.

Steps to reproduce

Attached in the above message.

Expected results

The valueBefore plan to have result of the value before, without adding hasSideEffect = true on the $valueBefore step.

Actual results

The valueBefore contains the value of the resource after execution of the mutation step.

Additional context

Possible Solution

Set hasSideEffect=true on the $valueBefore step.