Throw when querying non-scalar objects without a selection set. #4038
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.
This would have helped diagnose the cause of #4025, which is that query fields with non-scalar types (or list-of-non-scalar types) must have a selection set.
In other words, given a schema like
a query like
is illegal since it doesn't specify which fields of the
SelectedMessage
objects should be included in the list.This PR prevents the cache from accidentally returning
IdValue
objects by throwing a helpful exception:While the client does not have access to the schema, it is possible to determine if a value that's about to be returned is a non-scalar object.