graphql-engine/server/src-lib
Antoine Leblanc 49d0594759 [server] prune join fields of remote relationships to remote schema (close hasura/graphql-engine#8345)
## Description

This PR fixes hasura/graphql-engine#8345: when creating the final representation of a remote relationship to a remote schema (a `RemoteJoin`), we would mistakenly label ALL join fields in the selection set as being relevant to that one relationship: if there are more than one remote relationship to process in that selection set, that would be the union of all their join fields. The problem with this error is that, when processing remote relationships, we correctly ignore all the ones for which at least one join key is null. Consequently, this error would result in us ignoring remote relationships for which an _unrelated_ join key was null, resulting in that data missing in the final JSON result.

This PR simply ensures that the aggregation of fields that are passed to `createRemoteJoin` is pruned to only contain the fields relevant to the join being created. This is a very small change, and the bulk of this PR is the regression tests.

## Changelog

__Component__ : server
__Type__: bugfix
__Product__: community-edition

### Short Changelog

fix remote relationship to remote schema sometimes being erroneously null when multiple relationships are defined on the same table / graphql object ([#8345](https://github.com/hasura/graphql-engine/issues/8345))

### Long Changelog

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6420
GitOrigin-RevId: eb54462724b007f80b674dcf234adf6d9cfaaf79
2022-10-20 00:11:51 +00:00
..
Autodocodec server: codecs for TableMetadata, FunctionMetadata, and permissions 2022-09-12 20:31:07 +00:00
Control server: Share tests between CircularT and MemoizeT. 2022-09-08 19:38:49 +00:00
Data server: switch to ghc 9.2 (2nd try) 2022-10-06 09:09:01 +00:00
Database/MSSQL server/multitenant: resize sources' connection pools when a cloud project is scaled, global connection pooling 2022-10-17 08:06:12 +00:00
GHC Add allocation counter to trace spans and trace metadata 2022-08-18 21:57:59 +00:00
Hasura [server] prune join fields of remote relationships to remote schema (close hasura/graphql-engine#8345) 2022-10-20 00:11:51 +00:00
Net server: vendor used bits of 'ip' package to cut dependencies 2022-06-20 23:16:51 +00:00
Network Add allocation counter to trace spans and trace metadata 2022-08-18 21:57:59 +00:00