From 565caaa79af9a6b3853b161b0652527e716326b8 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 10:13:03 +0900 Subject: SQL/JSON: Fix default ON ERROR behavior for JSON_TABLE Use EMPTY ARRAY instead of EMPTY. This change does not affect the runtime behavior of JSON_TABLE(), which continues to return an empty relation ON ERROR. It only alters whether the default ON ERROR behavior is shown in the deparsed output. Reported-by: Jian He Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- src/backend/parser/parse_expr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/backend/parser/parse_expr.c') diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 56e413da9f5..36c1b7a88f2 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -4603,13 +4603,13 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) } /* - * Assume EMPTY ON ERROR when ON ERROR is not specified. + * Assume EMPTY ARRAY ON ERROR when ON ERROR is not specified. * * ON EMPTY cannot be specified at the top level but it can be for * the individual columns. */ jsexpr->on_error = transformJsonBehavior(pstate, func->on_error, - JSON_BEHAVIOR_EMPTY, + JSON_BEHAVIOR_EMPTY_ARRAY, jsexpr->returning); break; -- cgit v1.2.3