feat(pg): connections can use named queries #715
Merged
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.
Description
Under a GraphQL Connection you may want to add different queries that share the same conditions but somehow differ (for example aggregates). The previous implementation only allowed one aggregate query which prevented adding GROUP BY or similar clauses to the query structure.
Performance impact
Negligible impact in itself, but plugins that leverage it could incur significant performance costs due to adding entirely new subqueries.
Security impact
Great care must be taken over the naming of the queries to prevent clashing with builtins. Using safeAlias will generally work so long as you can guarantee it's keyed off of something unique (such as the field alias in GraphQL).