pgsql: Fix jsonpath .split_part() to honor silent mode
Fix jsonpath .split_part() to honor silent mode
The jsonpath .split_part() method passed its field-position argument
through numeric_int4(), that can fail hard if called directly.
This commit switches the code to use numeric_int4_safe() with an error
context for soft reporting, so as the overflow and zero field-position
cases can be handled in silent mode.
Oversight in bd4f879a9cdd.
Author: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: /messages/by-id/FCF996D0-580B-431C-8DE1-A540C58E444C@gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/954e57708ea6996e8948ccb820ed03d0262fc2d2
Modified Files
--------------
src/backend/utils/adt/jsonpath_exec.c | 19 ++++++++++++++++---
src/test/regress/expected/jsonb_jsonpath.out | 14 ++++++++++++++
src/test/regress/sql/jsonb_jsonpath.sql | 4 ++++
3 files changed, 34 insertions(+), 3 deletions(-)