graphql-engine/server/tests-py/queries/explain
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
..
author_articles_orderby_bigquery.yaml server/bigquery: computed fields SQL generation and execution 2022-05-30 15:24:33 +00:00
docs_query_mssql.yaml (Fix #3456) Guard calls to JSON_QUERY on null arguments 2022-02-21 08:53:06 +00:00
docs_query.yaml server/postgres: prefix identifiers longer than 63 characters with their md5 hash 2022-07-22 15:29:02 +00:00
docs_subscription_mssql.yaml server: migrate to aeson-2 in preparation for ghc 9.2 upgrade 2022-06-08 15:32:27 +00:00
docs_subscription.yaml [server] re-add native sql output 2023-01-27 14:38:07 +00:00
limit_offset_orderby_relationship_query.yaml server/postgres: prefix identifiers longer than 63 characters with their md5 hash 2022-07-22 15:29:02 +00:00
limit_orderby_column_query.yaml server: Preserve ordering when possible, and sort when it's not. 2023-06-02 09:31:26 +00:00
limit_orderby_relationship_query.yaml server/postgres: prefix identifiers longer than 63 characters with their md5 hash 2022-07-22 15:29:02 +00:00
limit_query.yaml server/postgres: prefix identifiers longer than 63 characters with their md5 hash 2022-07-22 15:29:02 +00:00
orderby_array_relationship_query.yaml server: Preserve ordering when possible, and sort when it's not. 2023-06-02 09:31:26 +00:00
permissions_query_mssql.yaml (Fix #3456) Guard calls to JSON_QUERY on null arguments 2022-02-21 08:53:06 +00:00
permissions_query.yaml server/postgres: prefix identifiers longer than 63 characters with their md5 hash 2022-07-22 15:29:02 +00:00
schema_setup_bigquery.yaml server/bigquery: apply 'order by' to 'array_agg' projection inside an array relationship join sub-query 2022-03-07 10:13:02 +00:00
schema_setup_mssql.yaml mssql: support query multiplexing in subscriptions 2021-04-20 16:58:13 +00:00
schema_teardown_bigquery.yaml server/bigquery: apply 'order by' to 'array_agg' projection inside an array relationship join sub-query 2022-03-07 10:13:02 +00:00
schema_teardown_mssql.yaml mssql: support query multiplexing in subscriptions 2021-04-20 16:58:13 +00:00
setup_bigquery.yaml server/bigquery: apply 'order by' to 'array_agg' projection inside an array relationship join sub-query 2022-03-07 10:13:02 +00:00
setup_mssql.yaml server: improve backend-specific test setup 2021-05-25 13:55:11 +00:00
setup.yaml [server] fix LIMIT optimization not respecting ORDER BY 2021-09-21 10:40:24 +00:00
simple_query_mssql.yaml (Fix #3456) Guard calls to JSON_QUERY on null arguments 2022-02-21 08:53:06 +00:00
simple_query.yaml server/postgres: prefix identifiers longer than 63 characters with their md5 hash 2022-07-22 15:29:02 +00:00
teardown_bigquery.yaml server/bigquery: apply 'order by' to 'array_agg' projection inside an array relationship join sub-query 2022-03-07 10:13:02 +00:00
teardown_mssql.yaml server: improve backend-specific test setup 2021-05-25 13:55:11 +00:00
teardown.yaml [server] fix LIMIT optimization not respecting ORDER BY 2021-09-21 10:40:24 +00:00