From: Amit Langote Date: Fri, 26 Jul 2024 07:38:46 +0000 (+0900) Subject: SQL/JSON: Remove useless code in ExecInitJsonExpr() X-Git-Tag: REL_18_BETA1~2316 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=6f9a62b454e8d36f57d54efa141c464f69ce9206;p=postgresql.git SQL/JSON: Remove useless code in ExecInitJsonExpr() The code was for adding an unconditional JUMP to the next step, which is unnecessary processing. Reported-by: Jian He Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c index b10359e3d6b..f1caf48036b 100644 --- a/src/backend/executor/execExpr.c +++ b/src/backend/executor/execExpr.c @@ -4312,21 +4312,6 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, scratch->d.constval.isnull = true; ExprEvalPushStep(state, scratch); - /* - * Jump to coerce the NULL using json_populate_type() if needed. Coercing - * NULL is only interesting when the RETURNING type is a domain whose - * constraints must be checked. jsexpr->use_json_coercion must have been - * set in that case. - */ - if (get_typtype(jsexpr->returning->typid) == TYPTYPE_DOMAIN && - DomainHasConstraints(jsexpr->returning->typid)) - { - Assert(jsexpr->use_json_coercion); - scratch->opcode = EEOP_JUMP; - scratch->d.jump.jumpdone = state->steps_len + 1; - ExprEvalPushStep(state, scratch); - } - /* * To handle coercion errors softly, use the following ErrorSaveContext to * pass to ExecInitExprRec() when initializing the coercion expressions