graphql-engine/server/src-lib/Hasura/Backends/BigQuery
Antoine Leblanc b9ee669ee1 Improve remote joins collect
### Description

This PR improves the `Collect` module by re-ordering the functions to make clear what is public API and what is internal implementation. Furthermore, it makes use of `traverseOf` and `traverseFields` to reduce duplication. To do so, it also introduces a few more lenses in the rest of the codebase, and uses this opportunity to harmonize some structures that were not following our naming convention.

While the diff is massive, a lot of it is just code moving around; the file is now divided into separate sections:
- entry points: IR types for which we want to run the collection
- internal monadic structure
- internal traversals: functions that do nothing but drill down further
- actual transformations: the three cases where we do actually have work to do: selection sets on which we do want to insert join columns, extract remote relationships... those functions are left unchanged by this PR
- internal helpers

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3863
GitOrigin-RevId: f7cbecfae9eed9737b62acfa5848bfcf9d4651f6
2022-03-10 06:18:48 +00:00
..
DDL Add backoff for BigQuery calls 2022-02-14 09:46:38 +00:00
Instances server/postgres: improve fetching tables' and functions' metadata (from database) 2022-03-08 13:03:14 +00:00
Connection.hs Add backoff for BigQuery calls 2022-02-14 09:46:38 +00:00
DDL.hs Customization of computed field GraphQL schema descriptions 2022-02-15 23:17:27 +00:00
Execute.hs server/bigquery: fix parsing timestamp input values 2022-02-21 14:48:00 +00:00
FromIr.hs Improve remote joins collect 2022-03-10 06:18:48 +00:00
Meta.hs BigQuery hspec tests 2022-02-09 15:30:13 +00:00
Plan.hs simplification of generalized joins execution 2021-12-07 13:12:57 +00:00
Source.hs Add backoff for BigQuery calls 2022-02-14 09:46:38 +00:00
ToQuery.hs BigQuery operators: like/nlike, geography 2022-01-18 13:37:12 +00:00
Types.hs server/bigquery: fix parsing timestamp input values 2022-02-21 14:48:00 +00:00