diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 6b93a76bca..781c9709e6 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -3415,7 +3415,6 @@ transformJsonConstructorOutput(ParseState *pstate, JsonOutput *output, if (!OidIsValid(returning->typid)) { ListCell *lc; - bool have_json = false; bool have_jsonb = false; foreach(lc, args) @@ -3423,7 +3422,6 @@ transformJsonConstructorOutput(ParseState *pstate, JsonOutput *output, Node *expr = lfirst(lc); Oid typid = exprType(expr); - have_json |= typid == JSONOID; have_jsonb |= typid == JSONBOID; if (have_jsonb) @@ -3437,8 +3435,6 @@ transformJsonConstructorOutput(ParseState *pstate, JsonOutput *output, } else { - /* Note: this includes the have_json case */ - /* XXX TEXT is default by the standard, but we return JSON */ returning->typid = JSONOID; returning->format->format_type = JS_FORMAT_JSON; diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 6db6c008dd..df5c486501 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -9907,9 +9907,11 @@ get_json_constructor(JsonConstructorExpr *ctor, deparse_context *context, funcname = "JSON_ARRAY"; break; case JSCTOR_JSON_OBJECTAGG: - return get_json_agg_constructor(ctor, context, "JSON_OBJECTAGG", true); + get_json_agg_constructor(ctor, context, "JSON_OBJECTAGG", true); + return; case JSCTOR_JSON_ARRAYAGG: - return get_json_agg_constructor(ctor, context, "JSON_ARRAYAGG", false); + get_json_agg_constructor(ctor, context, "JSON_ARRAYAGG", false); + return; default: elog(ERROR, "invalid JsonConstructorExprType %d", ctor->type); } @@ -10064,8 +10066,8 @@ get_agg_expr_helper(Aggref *aggref, deparse_context *context, static void get_agg_expr(Aggref *aggref, deparse_context *context, Aggref *original_aggref) { - return get_agg_expr_helper(aggref, context, original_aggref, NULL, NULL, - false); + get_agg_expr_helper(aggref, context, original_aggref, NULL, NULL, + false); } /* @@ -10182,7 +10184,7 @@ get_windowfunc_expr_helper(WindowFunc *wfunc, deparse_context *context, static void get_windowfunc_expr(WindowFunc *wfunc, deparse_context *context) { - return get_windowfunc_expr_helper(wfunc, context, NULL, NULL, false); + get_windowfunc_expr_helper(wfunc, context, NULL, NULL, false); } /* @@ -10438,13 +10440,13 @@ get_json_agg_constructor(JsonConstructorExpr *ctor, deparse_context *context, get_json_constructor_options(ctor, &options); if (IsA(ctor->func, Aggref)) - return get_agg_expr_helper((Aggref *) ctor->func, context, - (Aggref *) ctor->func, - funcname, options.data, is_json_objectagg); + get_agg_expr_helper((Aggref *) ctor->func, context, + (Aggref *) ctor->func, + funcname, options.data, is_json_objectagg); else if (IsA(ctor->func, WindowFunc)) - return get_windowfunc_expr_helper((WindowFunc *) ctor->func, context, - funcname, options.data, - is_json_objectagg); + get_windowfunc_expr_helper((WindowFunc *) ctor->func, context, + funcname, options.data, + is_json_objectagg); else elog(ERROR, "invalid JsonConstructorExpr underlying node type: %d", nodeTag(ctor->func));