pgsql: expression eval: Fix EEOP_JSON_CONSTRUCTOR and EEOP_JSONEXPR siz

Started by Andres Freundabout 4 years ago1 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

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: /messages/by-id/20220616233130.rparivafipt6doj3@alap3.anarazel.de
Backpatch: 15-

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/67b26703b4152a30a91208e28a4b72b3abda5832

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(-)