graphql-engine/server
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
..
bench-wrk server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
benchmarks ci: hide old benchmark reports for PRs with many comments 2022-02-24 20:09:17 +00:00
documentation Enable remote joins from remote schemas in the execution engine. 2022-03-09 03:18:22 +00:00
packaging ci: add support for linux/arm64 docker image 2021-12-09 09:34:22 +00:00
src-exec server: add metric for the metadata resource version 2022-03-08 23:00:27 +00:00
src-lib Clean RemoteJoin.Join by introducing RemoteJoin.Source 2022-03-10 15:26:24 +00:00
src-rsr server/postgres: improve fetching tables' and functions' metadata (from database) 2022-03-08 13:03:14 +00:00
src-test Reduce the size of SelectSpec test to reduce memory usage. 2022-03-10 03:06:55 +00:00
tests/integration server: add metric for the metadata resource version 2022-03-08 23:00:27 +00:00
tests-hspec Migrate all HSpec tests to unified setup/teardown 2022-03-10 11:19:13 +00:00
tests-py add jsonb to string cast support for postgres (fix #6577, #2602) 2022-03-10 07:32:59 +00:00
.dockerignore update packages (#251) 2018-08-08 13:10:13 +05:30
.gitignore server/citus: feature branch 2021-05-21 02:47:51 +00:00
commit_diff.txt Rewrite GraphQL schema generation and query parsing (close #2801) (#4111) 2020-08-21 12:27:01 -05:00
COMPILING-ON-M1.md update contributing and compiling on m1 2022-01-21 11:21:49 +00:00
CONTRIBUTING.md server: testing guidelines 2022-03-08 09:53:27 +00:00
graphql-engine.cabal Clean RemoteJoin.Join by introducing RemoteJoin.Source 2022-03-10 15:26:24 +00:00
Makefile ci: misc. cleanup, naming 2022-01-03 06:26:39 +00:00
STYLE.md server, CI: use ormolu as a formatter for Haskell sources 2021-09-23 21:23:21 +00:00
testing-guidelines.md server: testing guidelines 2022-03-08 09:53:27 +00:00