graphql-engine/server/src-lib/Hasura
Samir Talwar 1a052dd44b server: Avoid partial fields wherever possible.
This turns on the `partial-fields` warning, which yells at you if you try and create fields on sum types that end up being partial functions. These are dangerous; we had a bug because we introduced a new case to a data type, making the field accessors partial, and leading to a crash in certain cases.

This means that we have introduced a few wrappers in various places where the field names are useful, but we want to avoid partial matches.

Unfortunately this can be turned off by prefixing the field name with an underscore. Ideally we would try and avoid exporting any field names with underscores, but lenses make this hard. I have removed some underscores for the areas in which we've seen this break in the past.

We will have to be vigilant.

[NDAT-794]: https://hasurahq.atlassian.net/browse/NDAT-794?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9991
GitOrigin-RevId: fd69b1ef999682969f3507f0e97513f983da4da6
2023-07-28 10:54:24 +00:00
..
App server: null forwarding feature flag 2023-07-21 15:12:32 +00:00
Backends server: Avoid partial fields wherever possible. 2023-07-28 10:54:24 +00:00
Cache server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
Eventing server: add log line for Event Trigger timeout errors 2023-07-13 09:53:27 +00:00
Function server: collect remote schema and database introspections while building schema cache 2023-06-01 16:34:31 +00:00
GraphQL Fix inherited roles leaking supposedly-hidden data via aggregation predicates for Postgres 2023-07-26 12:07:34 +00:00
LogicalModel chore(server): permissions for inline logical models 2023-07-25 10:11:35 +00:00
LogicalModelResolver chore(server): permissions for inline logical models 2023-07-25 10:11:35 +00:00
Metadata server: collect remote schema and database introspections while building schema cache 2023-06-01 16:34:31 +00:00
NativeQuery chore(server): permissions for inline logical models 2023-07-25 10:11:35 +00:00
QueryTags Remove the last of the obvious Aeson TemplateHaskell 2023-06-28 15:45:09 +00:00
RemoteSchema server/schema-registry: fix metadata resource version -1 for catalog sync 2023-07-17 08:12:31 +00:00
RQL Fix inherited roles leaking supposedly-hidden data via aggregation predicates for Postgres 2023-07-26 12:07:34 +00:00
Server server: add tenant policy to enable/disable otel exporter 2023-07-26 12:50:10 +00:00
Services Upgrade Ormolu to 0.7.0.0 2023-05-24 13:53:53 +00:00
SQL Remove some TemplateHaskell from Hasura.SQL 2023-06-29 10:32:19 +00:00
StoredProcedure chore(server): tidy logimo permissions 2023-07-12 10:45:42 +00:00
Table Refactor inherited roles data redaction types 2023-07-18 13:50:32 +00:00
Tracing Add additional tracing spans to HGE GraphQL queries and the Super Connector 2023-05-31 05:49:12 +00:00
App.hs server: Avoid partial fields wherever possible. 2023-07-28 10:54:24 +00:00
ClientCredentials.hs Upgrade Ormolu to 0.7.0.0 2023-05-24 13:53:53 +00:00
CredentialCache.hs server: Make HLint pass, by hook or by crook. 2023-04-25 14:03:02 +00:00
GC.hs server: use lighter GC in ourIdleGC when idle 2023-07-12 09:26:11 +00:00
HTTP.hs Upgrade Ormolu to 0.7.0.0 2023-05-24 13:53:53 +00:00
Logging.hs Remove the last of the obvious Aeson TemplateHaskell 2023-06-28 15:45:09 +00:00
Name.hs feat(server): native Postgres array support 2023-06-28 08:47:59 +00:00
PingSources.hs Fix: Unable to use environment variable for CockroachDB connection string in Cloud 2023-02-14 12:15:58 +00:00
QueryTags.hs Upgrade Ormolu to 0.7.0.0 2023-05-24 13:53:53 +00:00
Services.hs harmonize network manager handling 2023-02-22 15:55:54 +00:00
Session.hs Upgrade Ormolu to 0.7.0.0 2023-05-24 13:53:53 +00:00
ShutdownLatch.hs multitenant: make shutdown logic more abstract 2022-11-23 07:53:19 +00:00
Tracing.hs PLAT-438: improve traces from OpenTelemetry 2023-04-26 16:21:29 +00:00