fix: atomic updates should always do a select with nested operations #4100
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
fixes prisma/prisma#20491
Before this PR, the following query:
Would result in the following SQL queries:
Where the first
SELECT
would be used as the result. Unfortunately in this case (and other cases such as with adisconnect
ordelete
), the nested update alters the foreign key and so the returnedauthorId
would not reflect the actual update.For this reason (and for simplicity atm), we've decided to bring back the post
SELECT
as soon as there are any nested mutations in an update. Therefore, the client query above will now result in the following SQL queries: