-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
deferred fragments should not change ordering of fields within initial response #1054
base: main
Are you sure you want to change the base?
Commits on Nov 18, 2023
-
Update Section 3 -- Type System.md Update Section 3 -- Type System.md Update Section 3 -- Type System.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Amend changes change initial_count to initialCount add payload fields to Response section add stream validation for overlapping fields spelling updates add note about re-execution add note about final payloads label is optional fix build Update ExecuteQuery with hasNext logic fix spelling fix spaces Update execution to add defer/stream to mutations and subscriptions clarify stream records Apply suggestions from code review Co-authored-by: Benjie Gillam <[email protected]> missing bracket Update spec/Section 7 -- Response.md Co-authored-by: Benjie Gillam <[email protected]> clarify line about stream record iterator update visitedFragments with defer Updates to consolidate subsequent payload logic for queries, mutations, and subscriptions Apply suggestions from code review Co-authored-by: Benjie Gillam <[email protected]> address review feedback Add handling of termination signal more formatting fix spelling Add assertion for record type add "Stream Directives Are Used On List Fields" validation rule Add defaultValue to @stream initialCount Update spec/Section 5 -- Validation.md Co-authored-by: Benjie Gillam <[email protected]> # Conflicts: # spec/Section 3 -- Type System.md # spec/Section 5 -- Validation.md # spec/Section 6 -- Execution.md # spec/Section 7 -- Response.md
Configuration menu - View commit details
-
Copy full SHA for 20dfd3b - Browse repository at this point
Copy the full SHA 20dfd3bView commit details -
# Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 3f00596 - Browse repository at this point
Copy the full SHA 3f00596View commit details -
clear up that it is legal to support either defer or stream individually
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for c861c36 - Browse repository at this point
Copy the full SHA c861c36View commit details -
Configuration menu - View commit details
-
Copy full SHA for d56f4e4 - Browse repository at this point
Copy the full SHA d56f4e4View commit details -
Update Section 3 -- Type System.md
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for b284063 - Browse repository at this point
Copy the full SHA b284063View commit details -
clarification on defer/stream requirement
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for 1359002 - Browse repository at this point
Copy the full SHA 1359002View commit details -
clarify negative values of initialCount
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for ce89ed0 - Browse repository at this point
Copy the full SHA ce89ed0View commit details -
allow extensions only subsequent payloads
# Conflicts: # spec/Section 7 -- Response.md
Configuration menu - View commit details
-
Copy full SHA for 8297aff - Browse repository at this point
Copy the full SHA 8297affView commit details -
# Conflicts: # spec/Section 7 -- Response.md
Configuration menu - View commit details
-
Copy full SHA for 67351bd - Browse repository at this point
Copy the full SHA 67351bdView commit details -
Raise a field error if initialCount is less than zero
# Conflicts: # spec/Section 3 -- Type System.md # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 5365ed4 - Browse repository at this point
Copy the full SHA 5365ed4View commit details -
data is not necessarily an object in subsequent payloads
# Conflicts: # spec/Section 7 -- Response.md
Configuration menu - View commit details
-
Copy full SHA for 947b944 - Browse repository at this point
Copy the full SHA 947b944View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23ed896 - Browse repository at this point
Copy the full SHA 23ed896View commit details -
wait for parent async record to ensure correct order of payloads
# Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for cb2330f - Browse repository at this point
Copy the full SHA cb2330fView commit details -
Simplify execution, payloads should begin execution immediately
# Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for a20f9ef - Browse repository at this point
Copy the full SHA a20f9efView commit details -
# Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 192f735 - Browse repository at this point
Copy the full SHA 192f735View commit details -
add isCompletedIterator to AsyncPayloadRecord to track completed iter…
…ators # Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 1e402c0 - Browse repository at this point
Copy the full SHA 1e402c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32fe878 - Browse repository at this point
Copy the full SHA 32fe878View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05f6007 - Browse repository at this point
Copy the full SHA 05f6007View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b6677a - Browse repository at this point
Copy the full SHA 4b6677aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a562876 - Browse repository at this point
Copy the full SHA a562876View commit details -
Configuration menu - View commit details
-
Copy full SHA for 274110d - Browse repository at this point
Copy the full SHA 274110dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c79905 - Browse repository at this point
Copy the full SHA 1c79905View commit details -
Configuration menu - View commit details
-
Copy full SHA for f912d67 - Browse repository at this point
Copy the full SHA f912d67View commit details -
Configuration menu - View commit details
-
Copy full SHA for a2d730e - Browse repository at this point
Copy the full SHA a2d730eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e2b5227 - Browse repository at this point
Copy the full SHA e2b5227View commit details -
Configuration menu - View commit details
-
Copy full SHA for b25627f - Browse repository at this point
Copy the full SHA b25627fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 58dda17 - Browse repository at this point
Copy the full SHA 58dda17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d0e755 - Browse repository at this point
Copy the full SHA 1d0e755View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b703dd - Browse repository at this point
Copy the full SHA 7b703ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 47e1afa - Browse repository at this point
Copy the full SHA 47e1afaView commit details -
Configuration menu - View commit details
-
Copy full SHA for fc297c3 - Browse repository at this point
Copy the full SHA fc297c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a6d018 - Browse repository at this point
Copy the full SHA 1a6d018View commit details -
Configuration menu - View commit details
-
Copy full SHA for f4b38d1 - Browse repository at this point
Copy the full SHA f4b38d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 437863f - Browse repository at this point
Copy the full SHA 437863fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 43602e5 - Browse repository at this point
Copy the full SHA 43602e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c8a7f5 - Browse repository at this point
Copy the full SHA 8c8a7f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e142aa - Browse repository at this point
Copy the full SHA 7e142aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 24968e0 - Browse repository at this point
Copy the full SHA 24968e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1174b4b - Browse repository at this point
Copy the full SHA 1174b4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ee9f40 - Browse repository at this point
Copy the full SHA 0ee9f40View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a61ccb - Browse repository at this point
Copy the full SHA 7a61ccbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 46c7476 - Browse repository at this point
Copy the full SHA 46c7476View commit details -
Configuration menu - View commit details
-
Copy full SHA for d07dc88 - Browse repository at this point
Copy the full SHA d07dc88View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6861159 - Browse repository at this point
Copy the full SHA 6861159View commit details -
Configuration menu - View commit details
-
Copy full SHA for f760bc1 - Browse repository at this point
Copy the full SHA f760bc1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f021320 - Browse repository at this point
Copy the full SHA f021320View commit details -
Configuration menu - View commit details
-
Copy full SHA for befc057 - Browse repository at this point
Copy the full SHA befc057View commit details -
Configuration menu - View commit details
-
Copy full SHA for c658f77 - Browse repository at this point
Copy the full SHA c658f77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ae29d8 - Browse repository at this point
Copy the full SHA 7ae29d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for bece8a0 - Browse repository at this point
Copy the full SHA bece8a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 056c77d - Browse repository at this point
Copy the full SHA 056c77dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fae5cdd - Browse repository at this point
Copy the full SHA fae5cddView commit details -
remove ResolveFIeldGenerator (#4)
* streamline stream execution Currently, these spec changes introduce a new internal function named `ResolveFieldGenerator` that is suggested parallels `ResolveFieldValue`. This function is used during field execution such that if the stream directive is specified, it is called instead of `ResolveFieldValue`. The reference implementation, however, does not require any such function, simply utilizing the result of `ResolveFieldValue`. With incremental delivery, collections completed by `CompleteValue` should be explicitly iterated using a well-defined iterator, such that the iterator can be passed to `ExecuteStreamField`. But this does not require a new internal function to be specified/exposed. Moreover, introducing this function causes a mixing of concerns between the `ExecuteField` and `CompleteValue` algorithms; Currently, if stream is specified for a field, `ExecuteField` extracts the iterator and passes it to `CompleteValue`, while if stream is not specified, the `ExecuteField` passes the collection, i.e. the iterable, not the iterator. In the stream case, this shunts some of the logic checking the validity of resolution results into field execution. In fact, it exposes a specification "bug" => in the stream case, no checking is actually done that `ResolveFieldGenerator` returns an iterator! This change removes `ResolveFieldGenerator` and with it some complexity, and brings it in line with the reference implementation. The reference implementation contains some simplification of the algorithm for the synchronous iterator case (we don't have to preserve the iterator on the StreamRecord, because there will be no early close required and we don't have to set isCompletedIterator, beacuse we don't have to create a dummy payload for termination of the asynchronous stream), We could consider also removing these bits as well, as they are an implementation detail in terms of how our dispatcher is managing its iterators, but that should be left for another change. * run prettier
Configuration menu - View commit details
-
Copy full SHA for cc1a7a2 - Browse repository at this point
Copy the full SHA cc1a7a2View commit details -
* fix whitespace * complete renaming of initialItems
Configuration menu - View commit details
-
Copy full SHA for 185374a - Browse repository at this point
Copy the full SHA 185374aView commit details -
Add error handling for stream iterators (#5)
* Add error handling for stream iterators * also add iterator error handling within CompleteValue * incorporate feedback
Configuration menu - View commit details
-
Copy full SHA for 57ec651 - Browse repository at this point
Copy the full SHA 57ec651View commit details -
Configuration menu - View commit details
-
Copy full SHA for feab837 - Browse repository at this point
Copy the full SHA feab837View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5398fb - Browse repository at this point
Copy the full SHA f5398fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53215c5 - Browse repository at this point
Copy the full SHA 53215c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for f73fdff - Browse repository at this point
Copy the full SHA f73fdffView commit details -
Co-authored-by: Simon Gellis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fe25ae6 - Browse repository at this point
Copy the full SHA fe25ae6View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbd266a - Browse repository at this point
Copy the full SHA dbd266aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 991f223 - Browse repository at this point
Copy the full SHA 991f223View commit details
Commits on Nov 29, 2023
-
incremental delivery with deduplication of delivery and execution, al…
…lowing early delivery
Configuration menu - View commit details
-
Copy full SHA for c7804cf - Browse repository at this point
Copy the full SHA c7804cfView commit details
Commits on Dec 1, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9b274db - Browse repository at this point
Copy the full SHA 9b274dbView commit details