graphql-engine/server/src-lib/Hasura/RQL
Antoine Leblanc a5589c185b Fix nullability of nested objrel inserts (fix hasura/graphql-engine#7484)
### Description

During the PDV refactor that led to 2.0, we broke an undocumented and untested semantic of inserts: accepting _explicit_ null values in nested object inserts.

In short: in the schema, we often distinguish between _explicit_ null values `{id: 3, author: null}` and _implicit_ null values that correspond to the field being omitted `{id: 3}`. In this particular case, we forgot to accept explicit null values. Since the field is optional (meaning we accept implicit null values), it was nullable in the schema, like it was in pre-PDV times. But in practice we would reject explicit nulls.

This PR fixes this, and adds a test. Furthermore, it does a bit of a cleanup of the Mutation part of the schema, and more specifically of all insertion code.

https://github.com/hasura/graphql-engine-mono/pull/2341

GitOrigin-RevId: 895cfeecef7e8e49903a3fb37987707150446eb0
2021-09-15 13:11:48 +00:00
..
DDL server: fix bug which allowed metadata to be inconsistent in the replace_metadata API call 2021-09-14 12:03:06 +00:00
DML server: generalize event triggers - incremental PR 2 2021-09-09 11:55:11 +00:00
IR server/mssql: integrate insert mutation schema parser for MSSQL backend 2021-08-31 13:35:49 +00:00
Types Fix nullability of nested objrel inserts (fix hasura/graphql-engine#7484) 2021-09-15 13:11:48 +00:00
IR.hs server: support remote relationships on SQL Server and BigQuery (#1497) 2021-06-11 03:27:39 +00:00
Types.hs server: generalize event triggers - incremental PR 2 2021-09-09 11:55:11 +00:00