Allow merge:true to merge references with non-normalized objects, and vice-versa. #7778
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.
Previously, you could allow
InMemoryCache
to merge non-normalized data using themerge: true
configuration (see #6714 and #7070), but the merged objects had to be consistently non-normalized, since attempting to merge a normalizedReference
with a non-normalized object would give preference to the reference, ignoring the object.This PR fixes #7642 in both directions:
Reference
now updates the normalized data behind the reference, leaving the field holding theReference
, andReference
with an existing non-normalized object updates the normalized data behind the reference (as above), but, for any fields that overlap, the normalized field data takes precedence over the non-normalized field data.In both directions, the new behavior matches what would happen if the normalized
Reference
was a non-normalized object instead.