graphql-engine/server/src-lib/Hasura
Antoine Leblanc effde675aa Clean RemoteJoin.Join by introducing RemoteJoin.Source
### Description

This PR cleans `processRemoteJoins` by splitting the code, introducing comments, and applied the same strategies than #3810 did. Most importantly, it introduces a new module `RemoteJoin.Source`, made to be very similar to `RemoteJoin.RemoteSchema`, that exposes the required tooling to make a join call to a source, which decluters `Join`. Furthermore, this PR uses the same "dependency injection" to make the core of `Join` free from IO: this opens the door to testing the join engine in the unit tests.

None of the functions were modified when moved from their old module to the new one, but there's no way to easily see this in a diff.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3894
GitOrigin-RevId: 1e7c43006f092326e061f9ba12674e207b628bef
2022-03-10 15:26:24 +00:00
..
Backends Remove MonadTableInfo and MonadRole. 2022-03-10 12:13:35 +00:00
Base Updates cabal freeze file 2022-02-18 05:32:08 +00:00
Cache server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
Eventing Fetch only events of the ETs which exist in the metadata 2022-03-08 09:06:32 +00:00
GraphQL Clean RemoteJoin.Join by introducing RemoteJoin.Source 2022-03-10 15:26:24 +00:00
Incremental distinct_on for BigQuery 2022-01-17 10:02:17 +00:00
Metadata server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
RQL Improve remote joins collect 2022-03-10 06:18:48 +00:00
Server server: add metric for the metadata resource version 2022-03-08 23:00:27 +00:00
SQL server: Renames the experimental backend modules 2022-02-25 16:09:17 +00:00
App.hs server: add metric for the metadata resource version 2022-03-08 23:00:27 +00:00
EncJSON.hs server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
GC.hs server: add explicit export lists in OSS server and enforce with warning 2021-11-04 16:09:38 +00:00
HTTP.hs server: http ip blocklist (closes #2449) 2022-02-25 13:30:57 +00:00
Incremental.hs server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
Logging.hs server: log DB locking queries during source catalog migration 2021-11-09 14:22:44 +00:00
Prelude.hs server: add validation for query collections 2022-03-08 09:49:18 +00:00
QueryTags.hs server: add explicit export lists in OSS server and enforce with warning 2021-11-04 16:09:38 +00:00
Session.hs Prevent uses of unsafeMkName whenever possible. 2022-01-27 15:13:37 +00:00
Tracing.hs Remove Unique from Definition 2021-12-01 16:21:35 +00:00