postgres.git / summary / log / commit / refs
commit 8a1a4087bd5fd09f42bcca2c91ff7eceaa2a0eab
Author: Amit Langote <amitlan@postgresql.org>
Date: Fri Jul 26 07:37:59 2024 +0000
First released in: 18.0, 17.0
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 <jian.universality@gmail.com>
Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com
Backpatch-through: 17
src/backend/executor/execExpr.c | 15 ---------------
1 file changed, 15 deletions(-)
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
[parent: 3c3ccd4ca801]