graphql-engine/server/src-lib/Hasura/GraphQL
Antoine Leblanc 4815fcd500 server: progress on generic metadata
This PR generalizes a bunch of metadata structures.

Most importantly, it changes `SourceCache` to hold existentially quantified values:
```
data BackendSourceInfo =
  forall b. Backend b => BackendSourceInfo (SourceInfo b)

type SourceCache = HashMap SourceName BackendSourceInfo
```

This changes a *lot* of things throughout the code. For now, all code using the schema cache explicitly casts sources to Postgres, meaning that if any non-Postgres `SourceInfo` makes it to the cache, it'll be ignored.

That means that after this PR is submitted, we can split work between two different aspects:
  - creating `SourceInfo` for other backends
  - handling those other sources down the line

GitOrigin-RevId: fb9ea00f32e840fc33c5467896fb1dfa5283ab42
2021-01-20 00:32:45 +00:00
..
Execute server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Parser server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Schema server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Transport Server: Remote relationships permissions 2021-01-19 20:57:58 +00:00
Context.hs server: simplify JSON instances 2021-01-19 19:15:42 +00:00
Execute.hs server: support separate metadata database and server code setup for multi sources (#197) 2020-12-28 12:56:55 +00:00
Explain.hs server: simplify JSON instances 2021-01-19 19:15:42 +00:00
Logging.hs server: expand metadata storage class with async actions and core metadata operations (#184) 2020-12-14 04:31:20 +00:00
Parser.hs server: schema that grows (#105) 2020-12-01 15:51:13 +00:00
RemoteServer.hs Merge pull request #113 from hasura/karthikeyan/remote-schema-permissions 2020-12-21 09:12:35 +00:00
Schema.hs server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Utils.hs server: make more use of hlint (#6059) 2020-10-28 16:40:33 +00:00