1
0
mirror of https://github.com/hasura/graphql-engine.git synced 2024-12-30 10:54:50 +03:00
graphql-engine/server/src-lib/Hasura/Backends/Postgres/Translate/Select
Samir Talwar dd46aa6715 server: Preserve ordering when possible, and sort when it's not.
When upgrading to GHC v9.4, we noticed a number of failures because the sort order of HashMaps has changed. With this changeset, I am endeavoring to mitigate this now and in the future.

This makes one of two changes in a few areas where we depend on the sort order of elements in a `HashMap`:

  1. the ordering of the request is preserved with `InsOrdHashMap`, or
  2. we sort the data after retrieving it.

Fortunately, we do not do this anywhere where we _must_ preserve order; it's "just" descriptions, error messages, and OpenAPI metadata. The main problem is that tests are likely to fail each time we upgrade GHC (or whatever is providing the hash seed).

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

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9390
GitOrigin-RevId: 84503e029b44094edbbc298651744bc2843c15f3
2023-06-02 09:31:26 +00:00
..
Internal server: Preserve ordering when possible, and sort when it's not. 2023-06-02 09:31:26 +00:00
Aggregate.hs fix(pg): Support aliased fields for Native Query object relations 2023-05-31 15:42:50 +00:00
AnnotatedFieldJSON.hs chore(server): move Hasura.SQL.Backend to Hasura.RQL.Types.BackendType 2023-04-24 18:37:33 +00:00
Connection.hs fix(pg): Support aliased fields for Native Query object relations 2023-05-31 15:42:50 +00:00
Simple.hs fix(pg): Support aliased fields for Native Query object relations 2023-05-31 15:42:50 +00:00
Streaming.hs fix(pg): Support aliased fields for Native Query object relations 2023-05-31 15:42:50 +00:00