pgsql: Throw error in jsonb_path_match() when result is not singlebool - Mailing list pgsql-committers

From Alexander Korotkov
Subject pgsql: Throw error in jsonb_path_match() when result is not singlebool
Date
Msg-id E1hAyhQ-0001Hf-Bt@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Throw error in jsonb_path_match() when result is not single boolean

jsonb_path_match() checks if jsonb document matches jsonpath query.  Therefore,
jsonpath query should return single boolean.  Currently, if result of jsonpath
is not a single boolean, NULL is returned independently whether silent mode
is on or off.  But that appears to be wrong when silent mode is off.  This
commit makes jsonb_path_match() throw an error in this case.

Author: Nikita Glukhov

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b4cc19ab01ffe6a72a915b21aa41536de80923f5

Modified Files
--------------
src/backend/utils/adt/jsonpath_exec.c        | 26 +++++++++-----
src/test/regress/expected/jsonb_jsonpath.out | 51 ++++++++++++++++++++++++++++
src/test/regress/sql/jsonb_jsonpath.sql      | 12 +++++++
3 files changed, 80 insertions(+), 9 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Catch syntax error in generated column definition
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Unified logging system for command-line programs