Skip to content

Conversation

rmosolgo
Copy link
Owner

@rmosolgo rmosolgo commented Dec 5, 2024

This is to implement partial execution, where you can take a prepared GraphQL::Query and run part of it in isolation.

Fixes #5136

TODO

  • Finish unit tests
  • Add specific tests for Dataloader and lazy resolution
  • DRY between Query and Query::Partial
  • Address TODOs in execution code
  • Dry run_partials and run_partial_eager?
  • What about when selections are duplicated in the AST? Have to merge fields appropriately
  • Add tests for continuing from non-null fields, unions, interfaces, scalars, enums
  • Add some way to spawn a partial from a query, or halt execution in a query. ctx.skip?
    • context.skip works for now -- I can explore sugar for that down the road.
  • Test lazy root object in Partial -- object and scalar
  • Test base_path usage, current_path setting in Partial

@rmosolgo rmosolgo force-pushed the partial-execution branch from 9e8aac6 to 749b670 Compare April 29, 2025 14:53
@rmosolgo rmosolgo merged commit a65fe3c into master May 5, 2025
15 checks passed
@rmosolgo rmosolgo added this to the 2.5.6 milestone May 5, 2025
@rmosolgo rmosolgo deleted the partial-execution branch May 5, 2025 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support running partial graphql queries
1 participant