Skip to content

Define 'execution' as in 'before execution begins' #894

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
d7eaf72
Clarify 'before execution begins' in response
benjie Oct 18, 2021
b76671b
Extract common logic from ExecuteQuery, ExecuteMutation and ExecuteSu…
benjie Apr 28, 2023
c9837a4
Change ExecuteSelectionSet to ExecuteGroupedFieldSet
benjie Apr 28, 2023
a52310e
Correct reference to MergeSelectionSets
benjie Aug 21, 2023
60a9c35
move Field Collection section earlier (#1111)
yaacovCR Oct 17, 2024
a1de2dd
Merge branch 'main' into benjie/incremental-common
benjie Jan 9, 2025
e8f80c8
Merge branch 'main' into benjie/incremental-common
benjie Mar 6, 2025
213fd2a
Define 'grouped field set'
benjie Mar 6, 2025
383cf8e
that -> which
benjie Mar 6, 2025
48a789b
More similar to prior wording
benjie Mar 6, 2025
0b9eed7
Remove reason from definition
benjie Mar 6, 2025
0728c4a
subGroupedFieldSet -> fieldGroupedFieldSet
benjie Mar 6, 2025
140c3da
Add note for clarity
benjie Mar 6, 2025
0e175cb
Merge branch 'main' into before-execution-begins-note
benjie Mar 7, 2025
5c2ad6a
Distinguish between Processing and Execution
martinbonnin Mar 27, 2025
6a7271b
Merge branch 'main' into before-execution-begins-note
benjie Apr 3, 2025
6150bec
Define 'execution'
benjie Apr 3, 2025
d60481a
Correction
benjie Apr 3, 2025
aa55df7
Update spec/Section 6 -- Execution.md
martinbonnin Apr 3, 2025
94ad176
Update spec/Section 6 -- Execution.md
martinbonnin Apr 3, 2025
15a6c11
format
martinbonnin Apr 3, 2025
41450b7
keep execute here
martinbonnin Apr 17, 2025
65df539
Merge branch 'main' into benjie/incremental-common
benjie Apr 17, 2025
d68df95
move field collections into one section, section reworking, minor wor…
leebyron Apr 17, 2025
180a51c
Apply suggestions from code review
benjie Apr 24, 2025
3c6dfb3
Rename 'ExecuteGroupedFieldSet' to 'ExecuteCollectedFields'
benjie Apr 25, 2025
5459f16
Merge branch 'main' into benjie/incremental-common
benjie May 1, 2025
7a740be
Merge branch 'benjie/incremental-common' into before-execution-begins…
benjie May 1, 2025
2fcc58b
Merge remote-tracking branch 'martinbonnin/clarify-execution' into be…
benjie May 1, 2025
11f33ba
Editorial and eliding
benjie May 1, 2025
1f11a6b
Add clarity
benjie May 1, 2025
ec28769
Grammar
benjie May 1, 2025
b428f39
Reorder text
benjie May 1, 2025
7ed055a
Fix typo and remove note
benjie May 1, 2025
1be44d0
Define 'execution' as in 'before execution begins'
leebyron Jul 2, 2025
7bafeaf
Merge branch 'lee/before-execution-begins-note' into before-execution…
benjie Jul 2, 2025
f16f52f
Revert to previous terminology and algorithm names.
benjie Jul 2, 2025
94241a7
Rename 'execution' to 'operation execution'
benjie Jul 2, 2025
bc5618c
Slight tweaks for subscriptions
benjie Jul 3, 2025
8606033
Clarity
benjie Jul 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions spec/Section 3 -- Type System.md
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ information on the serialization of scalars in common JSON and other formats.
If a GraphQL service expects a scalar type as input to an argument, coercion is
observable and the rules must be well defined. If an input value does not match
a coercion rule, a _request error_ must be raised (input values are validated
before execution begins).
before _execution_ begins).

GraphQL has different constant literals to represent integer and floating-point
input values, and coercion rules may apply differently depending on which type
Expand Down Expand Up @@ -757,7 +757,7 @@ type Person {
}
```

Valid operations must supply a nested field set for any field that returns an
Valid operations must supply a selection of fields for any field that returns an
object, so this operation is not valid:

```graphql counter-example
Expand Down
2 changes: 1 addition & 1 deletion spec/Section 4 -- Introspection.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ GraphQL supports type name introspection within any _selection set_ in an
operation, with the single exception of selections at the root of a subscription
operation. Type name introspection is accomplished via the meta-field
`__typename: String!` on any Object, Interface, or Union. It returns the name of
the concrete Object type at that point during execution.
the concrete Object type at that point during _execution_.

This is most often used when querying against Interface or Union types to
identify which actual Object type of the possible types has been returned.
Expand Down
2 changes: 1 addition & 1 deletion spec/Section 5 -- Validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ should be unambiguous. Therefore any two field selections which might both be
encountered for the same object are only valid if they are equivalent.

During execution, the simultaneous execution of fields with the same response
name is accomplished by {MergeSelectionSets()} and {CollectFields()}.
name is accomplished by {CollectSubfields()}.

For simple hand-written GraphQL, this rule is obviously a clear developer error,
however nested fragments can make this difficult to detect manually.
Expand Down
Loading