@ -3709,11 +3709,9 @@ makeJsonConstructorExpr(ParseState *pstate, JsonConstructorType type,
/*
* Transform JSON_OBJECT ( ) constructor .
*
* JSON_OBJECT ( ) is transformed into json [ b ] _build_object [ _ext ] ( ) call
* depending on the output JSON format . The first two arguments of
* json [ b ] _build_object_ext ( ) are absent_on_null and check_unique .
*
* Then function call result is coerced to the target type .
* JSON_OBJECT ( ) is transformed into a JsonConstructorExpr node of type
* JSCTOR_JSON_OBJECT . The result is coerced to the target type given
* by ctor - > output .
*/
static Node *
transformJsonObjectConstructor ( ParseState * pstate , JsonObjectConstructor * ctor )
@ -3903,10 +3901,11 @@ transformJsonAggConstructor(ParseState *pstate, JsonAggConstructor *agg_ctor,
/*
* Transform JSON_OBJECTAGG ( ) aggregate function .
*
* JSON_OBJECTAGG ( ) is transformed into
* json [ b ] _objectagg [ _unique ] [ _strict ] ( key , value ) call depending on
* the output JSON format . Then the function call result is coerced to the
* target output type .
* JSON_OBJECT ( ) is transformed into a JsonConstructorExpr node of type
* JSCTOR_JSON_OBJECTAGG , which at runtime becomes a
* json [ b ] _object_agg [ _unique ] [ _strict ] ( agg - > arg - > key , agg - > arg - > value ) call
* depending on the output JSON format . The result is coerced to the target
* type given by agg - > constructor - > output .
*/
static Node *
transformJsonObjectAgg ( ParseState * pstate , JsonObjectAgg * agg )
@ -3966,9 +3965,11 @@ transformJsonObjectAgg(ParseState *pstate, JsonObjectAgg *agg)
/*
* Transform JSON_ARRAYAGG ( ) aggregate function .
*
* JSON_ARRAYAGG ( ) is transformed into json [ b ] _agg [ _strict ] ( ) call depending
* on the output JSON format and absent_on_null . Then the function call result
* is coerced to the target output type .
* JSON_ARRAYAGG ( ) is transformed into a JsonConstructorExpr node of type
* JSCTOR_JSON_ARRAYAGG , which at runtime becomes a
* json [ b ] _object_agg [ _unique ] [ _strict ] ( agg - > arg ) call depending on the output
* JSON format . The result is coerced to the target type given by
* agg - > constructor - > output .
*/
static Node *
transformJsonArrayAgg ( ParseState * pstate , JsonArrayAgg * agg )
@ -4004,11 +4005,9 @@ transformJsonArrayAgg(ParseState *pstate, JsonArrayAgg *agg)
/*
* Transform JSON_ARRAY ( ) constructor .
*
* JSON_ARRAY ( ) is transformed into json [ b ] _build_array [ _ext ] ( ) call
* depending on the output JSON format . The first argument of
* json [ b ] _build_array_ext ( ) is absent_on_null .
*
* Then function call result is coerced to the target type .
* JSON_ARRAY ( ) is transformed into a JsonConstructorExpr node of type
* JSCTOR_JSON_ARRAY . The result is coerced to the target type given
* by ctor - > output .
*/
static Node *
transformJsonArrayConstructor ( ParseState * pstate , JsonArrayConstructor * ctor )