graphql-engine/server/src-lib/Hasura/Backends/BigQuery
Antoine Leblanc d91029ad51 [gardening] remove all traverse functions from RQL.IR
### Description

This PR removes all `fmapX` and `traverseX` functions from RQL.IR, favouring instead `Functor` and `Traversable` instances throughout the code. This was a relatively straightforward change, except for two small pain points: `AnnSelectG` and `AnnInsert`. Both were parametric over two types `a` and `v`, making it impossible to make them traversable functors... But it turns out that in every single use case, `a ~ f v`. By changing those types to take such an `f :: Type -> Type` as an argument instead of `a :: Type` makes it possible to make them functors.

The only small difference is for `AnnIns`, I had to introduce one `Identity` transformation for one of the `f` parameters. This is relatively straightforward.

### Notes

This PR fixes the most verbose BigQuery hint (`let` instead of `<- pure`).

https://github.com/hasura/graphql-engine-mono/pull/1668

GitOrigin-RevId: e632263a8c559aa04aeae10dcaec915b4a81ad1a
2021-07-08 15:42:53 +00:00
..
DDL Bigquery/drop dataloader 2021-06-28 13:30:40 +00:00
Instances server: delegate Metadata API parsing to a new backend class 2021-07-07 01:44:41 +00:00
Connection.hs server: introduce Hasura.Base (take 2) 2021-05-11 15:19:33 +00:00
DDL.hs server: misc cleanups 2021-06-15 15:06:37 +00:00
Execute.hs Bigquery/drop dataloader 2021-06-28 13:30:40 +00:00
FromIr.hs [gardening] remove all traverse functions from RQL.IR 2021-07-08 15:42:53 +00:00
Meta.hs BigQuery Feature Branch 2021-04-12 10:19:20 +00:00
Plan.hs [gardening] remove all traverse functions from RQL.IR 2021-07-08 15:42:53 +00:00
Source.hs Bigquery/global limit 2021-06-25 13:36:35 +00:00
ToQuery.hs server: misc cleanups 2021-06-15 15:06:37 +00:00
Types.hs server: misc cleanups 2021-06-15 15:06:37 +00:00