From ffbb14e0215f8b1d3a2ad6ab4f60f66fd1f856f0 Mon Sep 17 00:00:00 2001 From: Dylan Thacker-Smith Date: Wed, 14 Oct 2015 12:19:43 -0400 Subject: [PATCH] Mention that variable values need to be coerced for execution. --- spec/Section 3 -- Type System.md | 10 +++++----- spec/Section 6 -- Execution.md | 8 ++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/spec/Section 3 -- Type System.md b/spec/Section 3 -- Type System.md index 046d14677..949aa5a8e 100644 --- a/spec/Section 3 -- Type System.md +++ b/spec/Section 3 -- Type System.md @@ -735,11 +735,11 @@ query withNullableVariable($var: String) { Hence, if the value for a Non Null type is hard-coded in the query, it is always coerced using the input coercion for the wrapped type. -When a Non Null input has its value set using a variable, the coerced value -should be `null` if the provided value is `null`-like in the provided -representation, or if the provided value is omitted. Otherwise, the coerced -value is the result of running the wrapped type's input coercion on the -provided value. +When a Non Null input has its value set using a variable, a query +error must be raised if the provided value is `null`-like in the +provided representation, or if the provided value is omitted. +Otherwise, the coerced value is the result of running the wrapped +type's input coercion on the provided value. ## Directives diff --git a/spec/Section 6 -- Execution.md b/spec/Section 6 -- Execution.md index 935fff9e3..3548dfc1b 100644 --- a/spec/Section 6 -- Execution.md +++ b/spec/Section 6 -- Execution.md @@ -14,6 +14,14 @@ error. If the operation is found, then the result of evaluating the request should be the result of evaluating the operation according to the “Evaluating operations” section. +## Coercing Variables + +If the operation has defined any variables, then the values for +those variables need to be coerced using the input coercion rules +of variable's declared type. If a query error is encountered during +input coercion of variable values, then the operation fails without +execution. + ## Evaluating operations The type system, as described in the “Type System” part of the spec, must