Thread: pgsql: expression eval: Fix EEOP_JSON_CONSTRUCTOR and EEOP_JSONEXPR siz

pgsql: expression eval: Fix EEOP_JSON_CONSTRUCTOR and EEOP_JSONEXPR siz

From
Andres Freund
Date:
expression eval: Fix EEOP_JSON_CONSTRUCTOR and EEOP_JSONEXPR size.

The new expression step types increased the size of ExprEvalStep by ~4 for all
types of expression steps, slowing down expression evaluation noticeably. Move
them out of line.

There's other issues with these expression steps, but addressing them is
largely independent of this aspect.

Author: Andres Freund <andres@anarazel.de>
Reviewed-By: Andrew Dunstan <andrew@dunslane.net>
Discussion: https://postgr.es/m/20220616233130.rparivafipt6doj3@alap3.anarazel.de
Backpatch: 15-

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5a1ab894f758fae95b8d40fff0b0fa5048b09467

Modified Files
--------------
src/backend/executor/execExpr.c       |  93 +++++++++++++++-------------
src/backend/executor/execExprInterp.c | 104 ++++++++++++++++---------------
src/include/executor/execExpr.h       | 111 +++++++++++++++++++---------------
src/tools/pgindent/typedefs.list      |   2 +
4 files changed, 170 insertions(+), 140 deletions(-)