hi. minor issues. In transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) func.behavior->on_empty->location and func.behavior->on_error->location are correct. but in ExecInitJsonExpr, jsestate->jsexpr->on_empty->location is -1, jsestate->jsexpr->on_error->location is -1. Maybe we can preserve these on_empty, on_error token locations in transformJsonBehavior.
some enum declaration, ending element need an extra comma? + /* + * ExecEvalJsonExprPath() will set this to the address of the step to + * use to coerce the result of JsonPath* evaluation to the RETURNING + * type. Also see the description of possible step addresses this + * could be set to in the definition of JsonExprState.ZZ + */ "ZZ", typo?