graphql-engine/server/src-lib/Hasura/RQL/DML
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
..
Count.hs server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Delete.hs server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Insert.hs server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Internal.hs server: support separate metadata database and server code setup for multi sources (#197) 2020-12-28 12:56:55 +00:00
Select.hs server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Types.hs server: progress on generic metadata 2021-01-20 00:32:45 +00:00
Update.hs server: progress on generic metadata 2021-01-20 00:32:45 +00:00