1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-28 05:21:27 +03:00

doc: clarify that jsonb_path_match() returns an SQL boolean

Not a JSON boolean.  Also clarify that other predicate check expressions
functions return a JSON boolean, not an SQL boolean.

Reported-by: jian he

Discussion: https://postgr.es/m/CACJufxH7tP1NXCHN1bUBXcEB=dv7-qE+ZjB3UxwK6Em+9Qzb9Q@mail.gmail.com

Backpatch-through: 17
This commit is contained in:
Bruce Momjian 2024-11-20 17:03:45 -05:00
parent fea81aee83
commit 7eff3138fc

View File

@ -17125,8 +17125,8 @@ ERROR: value too long for type character(2)
<returnvalue>boolean</returnvalue>
</para>
<para>
Returns the result of a JSON path predicate check for the specified
JSON value.
Returns the SQL boolean result of a JSON path predicate check
for the specified JSON value.
(This is useful only
with <link linkend="functions-sqljson-check-expressions">predicate
check expressions</link>, not SQL-standard JSON path expressions,
@ -17593,9 +17593,9 @@ SELECT '{
Boolean predicate, whereas the SQL standard allows predicates only within
filters. While SQL-standard path expressions return the relevant
element(s) of the queried JSON value, predicate check expressions
return the single three-valued result of the
return the single three-valued <type>jsonb</type> result of the
predicate: <literal>true</literal>,
<literal>false</literal>, or <literal>unknown</literal>.
<literal>false</literal>, or <literal>null</literal>.
For example, we could write this SQL-standard filter expression:
<screen>
<prompt>=&gt;</prompt> <userinput>select jsonb_path_query(:'json', '$.track.segments ?(@[*].HR &gt; 130)');</userinput>