1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

docs: clarify JSONB operator descriptions

No catalog bump as the catalog changes are for SQL operator comments.

Backpatch through 9.5
This commit is contained in:
Bruce Momjian
2015-10-07 09:06:49 -04:00
parent 02580df6c3
commit 2169e878c4
3 changed files with 16 additions and 11 deletions

View File

@ -10331,32 +10331,36 @@ table2-mapping
<row>
<entry><literal>@&gt;</literal></entry>
<entry><type>jsonb</type></entry>
<entry>Does the left JSON value contain within it the right value?</entry>
<entry>Does the left JSON value contain the right JSON
path/value entries at the top level?</entry>
<entry><literal>'{"a":1, "b":2}'::jsonb &#64;&gt; '{"b":2}'::jsonb</literal></entry>
</row>
<row>
<entry><literal>&lt;@</literal></entry>
<entry><type>jsonb</type></entry>
<entry>Is the left JSON value contained within the right value?</entry>
<entry>Are the left JSON path/value entries contained at the top level within
the right JSON value?</entry>
<entry><literal>'{"b":2}'::jsonb &lt;@ '{"a":1, "b":2}'::jsonb</literal></entry>
</row>
<row>
<entry><literal>?</literal></entry>
<entry><type>text</type></entry>
<entry>Does the key/element <emphasis>string</emphasis> exist within
the JSON value?</entry>
<entry>Does the <emphasis>string</emphasis> exist as a top-level
key within the JSON value?</entry>
<entry><literal>'{"a":1, "b":2}'::jsonb ? 'b'</literal></entry>
</row>
<row>
<entry><literal>?|</literal></entry>
<entry><type>text[]</type></entry>
<entry>Do any of these key/element <emphasis>strings</emphasis> exist?</entry>
<entry>Do any of these array <emphasis>strings</emphasis>
exist as top-level keys?</entry>
<entry><literal>'{"a":1, "b":2, "c":3}'::jsonb ?| array['b', 'c']</literal></entry>
</row>
<row>
<entry><literal>?&amp;</literal></entry>
<entry><type>text[]</type></entry>
<entry>Do all of these key/element <emphasis>strings</emphasis> exist?</entry>
<entry>Do all of these array <emphasis>strings</emphasis> exist
as top-level keys?</entry>
<entry><literal>'["a", "b"]'::jsonb ?&amp; array['a', 'b']</literal></entry>
</row>
<row>

View File

@ -369,8 +369,9 @@ SELECT '"foo"'::jsonb ? 'foo';
</para>
<para>
The default GIN operator class for <type>jsonb</> supports queries with
the <literal>@&gt;</>, <literal>?</>, <literal>?&amp;</>
and <literal>?|</> operators.
top-level key-exists operators <literal>?</>, <literal>?&amp;</>
and <literal>?|</> operators and path/value-exists operator
<literal>@&gt;</>.
(For details of the semantics that these operators
implement, see <xref linkend="functions-jsonb-op-table">.)
An example of creating an index with this operator class is: