graphql-engine/server/src-lib/Hasura/Backends/Postgres/Instances
Antoine Leblanc 42e5205eb5 server: reduce schema contexts to the bare minimum
### Description

This monster of a PR took way too long. As the title suggests, it reduces the schema context carried in the readers to the very strict minimum. In practice, that means that to build a source, we only require:
  - the global `SchemaContext`
  - the global `SchemaOptions` (soon to be renamed `SchemaSourceOptions`)
  - that source's `SourceInfo`

Furthermore, _we no longer carry "default" customization options throughout the schema_. All customization information is extracted from the `SourceInfo`, when required. This prevents an entire category of bugs we had previously encountered, such as parts of the code using uninitialized / unupdated customization info.

In turn, this meant that we could remove the explicit threading of the `SourceInfo` throughout the schema, since it is now always available through the reader context.

Finally, this meant making a few adjustments to relay and actions as well, such as the introduction of a new separate "context" for actions, and a change to how we create some of the action-specific postgres scalar parsers.

I'll highlight with review comments the areas of interest.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6709
GitOrigin-RevId: ea80fddcb24e2513779dd04b0b700a55f0028dd1
2022-11-17 10:35:54 +00:00
..
API.hs Enable Postgres enums for Cockroach 2022-10-11 09:09:26 +00:00
Execute.hs Upgrade Ormolu to v0.5. 2022-11-02 20:55:13 +00:00
Metadata.hs server: import local Postgres modules as Postgres 2022-09-21 11:35:50 +00:00
Schema.hs server: reduce schema contexts to the bare minimum 2022-11-17 10:35:54 +00:00
SchemaCache.hs refactor: Enable Aggregation Predicates IR for Postgres 2022-08-24 12:00:11 +00:00
Transport.hs Upgrade Ormolu to v0.5. 2022-11-02 20:55:13 +00:00
Types.hs CockroachDB version check 2022-11-16 15:42:30 +00:00