pgsql: Fix jsonpath existense checking of missing variables

Поиск
Список
Период
Сортировка
От Alexander Korotkov
Тема pgsql: Fix jsonpath existense checking of missing variables
Дата
Msg-id E1pFzWn-003J4J-No@gemulon.postgresql.org
обсуждение исходный текст
Список 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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3161ae86ce3ced0a91c2d3cdbbdc602d6e19892d

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 по дате отправления:

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: pgsql: Fix jsonpath existense checking of missing variables
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: Improve handling of inherited GENERATED expressions.