pgsql: Fix jsonpath existense checking of missing variables - Mailing list pgsql-committers

From Alexander Korotkov
Subject pgsql: Fix jsonpath existense checking of missing variables
Date
Msg-id E1pFzTP-003J2O-Ab@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix jsonpath existense checking of missing variables

The current jsonpath code assumes that the referenced variable always exists.
It could only throw an error at the value valuation time.  At the same time
existence checking assumes variable is present without valuation, and error
suppression doesn't work for missing variables.

This commit makes existense checking trigger an error for missing variables.
This makes the overall behavior consistent.

Backpatch to 12 where jsonpath was introduced.

Reported-by: David G. Johnston
Discussion: https://postgr.es/m/CAKFQuwbeytffJkVnEqDyLZ%3DrQsznoTh1OgDoOF3VmOMkxcTMjA%40mail.gmail.com
Author: Alexander Korotkov, David G. Johnston
Backpatch-through: 12

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/2ff3ac3b5f52a54b829cc7275141839581b568de

Modified Files
--------------
src/backend/utils/adt/jsonpath_exec.c        |  8 +++++--
src/test/regress/expected/jsonb_jsonpath.out | 32 ++++++++++++++++++++++++++++
src/test/regress/sql/jsonb_jsonpath.sql      |  8 +++++++
3 files changed, 46 insertions(+), 2 deletions(-)


pgsql-committers by date:

Previous
From: Alexander Korotkov
Date:
Subject: pgsql: Fix jsonpath existense checking of missing variables
Next
From: Alexander Korotkov
Date:
Subject: pgsql: Fix jsonpath existense checking of missing variables