-
Notifications
You must be signed in to change notification settings - Fork 73
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
Executor: allow overriding AsyncExecute #500
Conversation
Sounds reasonable. |
I was fiddling with directives and hit into a limitation with aliases: query {
People {
name
friends
girlFriends: friends @filter(gender: Female)
}
} Notice how Anyways ...
It works surprisingly well and is almost an order of magnitude faster than before. |
An alternative could be to extend the Or maybe I could have solved that with If it is possible to alter the response in |
Should it be supported by spec? |
That is an interesting case. |
GraphQL spec requires output items to be coerced if a database gives an invalid value. I thought about the scenario you have but considered following that coercion important |
I think we need to consider some ability to pass |
Also for LINQ query generation, I think we need metadata that can map the field to a DB value with a different name or nested complex object field |
Indeed, |
What about this? If it is supported by spec, let's open an issue so we track this functionality absence |
Type
Executor<'Root>
is said to be "The standard schema executor"however there's no way to change it, as all functions taking an Executor are accepting only instances of this type and thus execution process can not be overridden.
I needed to provide my own
AsyncExecute
that intercepts cases whereresult.Content = GQLExecutionResult.RequestError _
and in some cases defers execution elsewhere.So I made AsyncExecute abstract in order to be able to override it.
After applying this pull request, I can now: