]> granicus.if.org Git - postgresql/commit
Throw error in jsonb_path_match() when result is not single boolean
authorAlexander Korotkov <akorotkov@postgresql.org>
Mon, 1 Apr 2019 15:09:20 +0000 (18:09 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Mon, 1 Apr 2019 15:09:20 +0000 (18:09 +0300)
commitb4cc19ab01ffe6a72a915b21aa41536de80923f5
tree694ca7dabee34a7a8b1e6a03a9fe6a37efc24b57
parent2e643501e5281ad5e0fa626dab1d51c1d38f639a
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
src/backend/utils/adt/jsonpath_exec.c
src/test/regress/expected/jsonb_jsonpath.out
src/test/regress/sql/jsonb_jsonpath.sql