SQL/JSON: Fix error-handling of some JsonBehavior expressions
To ensure that the errors of executing a JsonBehavior expression that
is coerced in the parser are caught instead of being thrown directly,
pass ErrorSaveContext to ExecInitExprRec() when initializing it.
Also, add a EEOP_JSONEXPR_COERCION_FINISH step to handle the errors
that are caught that way.
Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com
Backpatch-through: 17
Branch
------
REL_17_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/79fa052e78804667739bee3f3e220f0ef6783b2c
Modified Files
--------------
src/backend/executor/execExpr.c | 51 +++++++++++++++++++++++-
src/backend/executor/execExprInterp.c | 6 +++
src/test/regress/expected/sqljson_jsontable.out | 6 ++-
src/test/regress/expected/sqljson_queryfuncs.out | 6 ++-
4 files changed, 65 insertions(+), 4 deletions(-)