@@ -17725,10 +17725,11 @@ INSERT INTO my_films VALUES (
1772517725 </refnamediv>
1772617726
1772717727 <refsynopsisdiv>
17728- <synopsis>JSON_EXISTS (
17729- <replaceable class="parameter">json_api_common_syntax</replaceable>
17730- [ RETURNING <replaceable class="parameter">data_type</replaceable> ]
17731- [ { TRUE | FALSE | UNKNOWN | ERROR } ON ERROR ]
17728+ <synopsis>
17729+ <function>JSON_EXISTS</function> (
17730+ <replaceable>context_item</replaceable>, <replaceable>path_expression</replaceable> <optional> PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } <optional>, ...</optional></optional>
17731+ <optional> RETURNING <replaceable class="parameter">data_type</replaceable> </optional>
17732+ <optional> { TRUE | FALSE | UNKNOWN | ERROR } ON ERROR </optional>
1773217733)
1773317734</synopsis>
1773417735 </refsynopsisdiv>
@@ -17747,7 +17748,7 @@ INSERT INTO my_films VALUES (
1774717748 <variablelist>
1774817749 <varlistentry>
1774917750 <term>
17750- <literal><replaceable class="parameter">json_api_common_syntax </replaceable></literal>
17751+ <literal><replaceable>context_item</replaceable>, <replaceable>path_expression </replaceable> <optional> PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } <optional>, ...</optional></optional ></literal>
1775117752 </term>
1775217753 <listitem>
1775317754
@@ -17841,11 +17842,12 @@ SELECT JSON_EXISTS(jsonb '{"a": [1,2,3]}', 'strict $.a[5]');
1784117842 </refnamediv>
1784217843
1784317844 <refsynopsisdiv>
17844- <synopsis>JSON_VALUE (
17845- <replaceable class="parameter">json_api_common_syntax</replaceable>
17846- [ RETURNING <replaceable class="parameter">data_type</replaceable> ]
17847- [ { ERROR | NULL | DEFAULT <replaceable class="parameter">expression</replaceable> } ON EMPTY ]
17848- [ { ERROR | NULL | DEFAULT <replaceable class="parameter">expression</replaceable> } ON ERROR ]
17845+ <synopsis>
17846+ <function>JSON_VALUE</function> (
17847+ <replaceable>context_item</replaceable>, <replaceable>path_expression</replaceable> <optional> PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } <optional>, ...</optional></optional>
17848+ <optional> RETURNING <replaceable class="parameter">data_type</replaceable> </optional>
17849+ <optional> { ERROR | NULL | DEFAULT <replaceable class="parameter">expression</replaceable> } ON EMPTY </optional>
17850+ <optional> { ERROR | NULL | DEFAULT <replaceable class="parameter">expression</replaceable> } ON ERROR </optional>
1784917851)
1785017852 </synopsis>
1785117853 </refsynopsisdiv>
@@ -17869,7 +17871,7 @@ SELECT JSON_EXISTS(jsonb '{"a": [1,2,3]}', 'strict $.a[5]');
1786917871
1787017872 <varlistentry>
1787117873 <term>
17872- <literal><replaceable class="parameter">json_api_common_syntax </replaceable></literal>
17874+ <literal><replaceable>context_item</replaceable>, <replaceable>path_expression </replaceable> <optional> PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } <optional>, ...</optional></optional ></literal>
1787317875 </term>
1787417876 <listitem>
1787517877
@@ -18002,13 +18004,14 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1800218004 </refnamediv>
1800318005
1800418006 <refsynopsisdiv>
18005- <synopsis>JSON_QUERY (
18006- <replaceable class="parameter">json_api_common_syntax</replaceable>
18007- [ RETURNING <replaceable class="parameter">data_type</replaceable> [ FORMAT JSON [ ENCODING UTF8 ] ]
18008- [ { WITHOUT | WITH { CONDITIONAL | [UNCONDITIONAL] } } [ ARRAY ] WRAPPER ]
18009- [ { KEEP | OMIT } QUOTES [ ON SCALAR STRING ] ]
18010- [ { ERROR | NULL | EMPTY { [ ARRAY ] | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON EMPTY ]
18011- [ { ERROR | NULL | EMPTY { [ ARRAY ] | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON ERROR ]
18007+ <synopsis>
18008+ <function>JSON_QUERY</function> (
18009+ <replaceable>context_item</replaceable>, <replaceable>path_expression</replaceable> <optional> PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } <optional>, ...</optional></optional>
18010+ <optional> RETURNING <replaceable class="parameter">data_type</replaceable> <optional> FORMAT JSON <optional> ENCODING UTF8 </optional> </optional> </optional>
18011+ <optional> { WITHOUT | WITH { CONDITIONAL | <optional>UNCONDITIONAL</optional> } } <optional> ARRAY </optional> WRAPPER </optional>
18012+ <optional> { KEEP | OMIT } QUOTES <optional> ON SCALAR STRING </optional> </optional>
18013+ <optional> { ERROR | NULL | EMPTY { <optional> ARRAY </optional> | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON EMPTY </optional>
18014+ <optional> { ERROR | NULL | EMPTY { <optional> ARRAY </optional> | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON ERROR </optional>
1801218015)
1801318016 </synopsis>
1801418017 </refsynopsisdiv>
@@ -18032,7 +18035,7 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1803218035
1803318036 <varlistentry>
1803418037 <term>
18035- <literal><replaceable class="parameter">json_api_common_syntax </replaceable></literal>
18038+ <literal><replaceable>context_item</replaceable>, <replaceable>path_expression </replaceable> <optional> PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } <optional>, ...</optional></optional ></literal>
1803618039 </term>
1803718040 <listitem>
1803818041
@@ -18045,7 +18048,7 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1804518048
1804618049 <varlistentry>
1804718050 <term>
18048- <literal>RETURNING <replaceable class="parameter">data_type</replaceable> [ FORMAT JSON [ ENCODING UTF8 ] ] </literal>
18051+ <literal>RETURNING <replaceable class="parameter">data_type</replaceable> <optional> FORMAT JSON <optional> ENCODING UTF8 </optional> </optional> </literal>
1804918052 </term>
1805018053 <listitem>
1805118054 <para>
@@ -18057,7 +18060,7 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1805718060
1805818061 <varlistentry>
1805918062 <term>
18060- <literal>{ WITHOUT | WITH { CONDITIONAL | [ UNCONDITIONAL] } } [ ARRAY ] WRAPPER</literal>
18063+ <literal>{ WITHOUT | WITH { CONDITIONAL | <optional> UNCONDITIONAL</optional> } } <optional> ARRAY </optional> WRAPPER</literal>
1806118064 </term>
1806218065 <listitem>
1806318066 <para>
@@ -18076,7 +18079,7 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1807618079 </listitem>
1807718080 </varlistentry>
1807818081 <varlistentry>
18079- <term><literal>WITH [ UNCONDITIONAL] WRAPPER</literal></term>
18082+ <term><literal>WITH <optional> UNCONDITIONAL</optional> WRAPPER</literal></term>
1808018083 <listitem>
1808118084 <para>
1808218085 Always wrap the result.
@@ -18106,7 +18109,7 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1810618109
1810718110 <varlistentry>
1810818111 <term>
18109- <literal>{ KEEP | OMIT } QUOTES [ ON SCALAR STRING ] </literal>
18112+ <literal>{ KEEP | OMIT } QUOTES <optional> ON SCALAR STRING </optional> </literal>
1811018113 </term>
1811118114 <listitem>
1811218115 <para>
@@ -18122,12 +18125,12 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1812218125
1812318126 <varlistentry>
1812418127 <term>
18125- <literal>{ ERROR | NULL | EMPTY { [ ARRAY ] | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON EMPTY</literal>
18128+ <literal>{ ERROR | NULL | EMPTY { <optional> ARRAY </optional> | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON EMPTY</literal>
1812618129 </term>
1812718130 <listitem>
1812818131 <para>
1812918132 Defines the return value if no JSON value is found. The default is <literal>NULL</literal>.
18130- If you use <literal>EMPTY [ ARRAY] </literal> or <literal>EMPTY OBJECT</literal>,
18133+ If you use <literal>EMPTY <optional> ARRAY</optional> </literal> or <literal>EMPTY OBJECT</literal>,
1813118134 an empty JSON array [] or object {} is returned, respectively.
1813218135 If you use <literal>DEFAULT <replaceable class="parameter">expression</replaceable></literal>,
1813318136 the provided <replaceable class="parameter">expression</replaceable> is evaluated and cast
@@ -18141,13 +18144,13 @@ SELECT JSON_VALUE(jsonb '[1,2]', 'strict $[*]' DEFAULT 1 ON ERROR);
1814118144
1814218145 <varlistentry>
1814318146 <term>
18144- <literal>{ ERROR | NULL | EMPTY { [ ARRAY ] | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON ERROR</literal>
18147+ <literal>{ ERROR | NULL | EMPTY { <optional> ARRAY </optional> | OBJECT } | DEFAULT <replaceable class="parameter">expression</replaceable> } ON ERROR</literal>
1814518148 </term>
1814618149 <listitem>
1814718150 <para>
1814818151 Defines the return value if an unhandled error occurs. The default is <literal>NULL</literal>.
18149- If you use <literal>EMPTY [ ARRAY] </literal> or <literal>EMPTY OBJECT</literal>,
18150- an empty JSON array [] or object {} are returned, respectively.
18152+ If you use <literal>EMPTY <optional> ARRAY</optional> </literal> or <literal>EMPTY OBJECT</literal>,
18153+ an empty JSON array <literal>[]</literal> or object <literal>{}</literal> are returned, respectively.
1815118154 If you use <literal>DEFAULT <replaceable class="parameter">expression</replaceable></literal>,
1815218155 the provided <replaceable class="parameter">expression</replaceable> is evaluated and cast
1815318156 to the type specified in the <command>RETURNING</command> clause.
@@ -18383,7 +18386,7 @@ FROM
1838318386 <varlistentry>
1838418387 <term>
1838518388 <literal><replaceable>context_item</replaceable>, <replaceable>path_expression</replaceable>
18386- [ PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } [ , ...]] </literal>
18389+ <optional> PASSING { <replaceable>value</replaceable> AS <replaceable>varname</replaceable> } <optional> , ...</optional></optional> </literal>
1838718390 </term>
1838818391 <listitem>
1838918392 <para>
@@ -18412,7 +18415,7 @@ FROM
1841218415 </listitem>
1841318416 </itemizedlist>
1841418417 <para>
18415- The input clause is common for all SQL/JSON query functions.
18418+ The input clause is common for all SQL/JSON query functions.
1841618419 </para>
1841718420 </listitem>
1841818421 </varlistentry>
@@ -18426,7 +18429,7 @@ FROM
1842618429 <variablelist>
1842718430 <varlistentry>
1842818431 <term>
18429- <literal>RETURNING <replaceable class="parameter">data_type</replaceable> [ FORMAT JSON [ ENCODING UTF8 ] ] </literal>
18432+ <literal>RETURNING <replaceable class="parameter">data_type</replaceable> <optional> FORMAT JSON <optional> ENCODING UTF8 </optional> </optional> </literal>
1843018433 </term>
1843118434 <listitem>
1843218435 <para>
0 commit comments