@@ -18604,15 +18604,16 @@ JSON_TABLE (
1860418604where <replaceable class="parameter">json_table_column</replaceable> is:
1860518605</phrase>
1860618606 <replaceable>name</replaceable> <replaceable>type</replaceable> [ PATH <replaceable>json_path_specification</replaceable> ]
18607+ [ { WITHOUT | WITH { CONDITIONAL | [UNCONDITIONAL] } } [ ARRAY ] WRAPPER ]
18608+ [ { KEEP | OMIT } QUOTES [ ON SCALAR STRING ] ]
1860718609 [ { ERROR | NULL | DEFAULT <replaceable>expression</replaceable> } ON EMPTY ]
1860818610 [ { ERROR | NULL | DEFAULT <replaceable>expression</replaceable> } ON ERROR ]
1860918611 | <replaceable>name</replaceable> <replaceable>type</replaceable> FORMAT <replaceable>json_representation</replaceable>
1861018612 [ PATH <replaceable>json_path_specification</replaceable> ]
18611- [ { WITHOUT | WITH { CONDITIONAL | [UNCONDITIONAL] } }
18612- [ ARRAY ] WRAPPER ]
18613+ [ { WITHOUT | WITH { CONDITIONAL | [UNCONDITIONAL] } } [ ARRAY ] WRAPPER ]
1861318614 [ { KEEP | OMIT } QUOTES [ ON SCALAR STRING ] ]
18614- [ { ERROR | NULL | EMPTY { ARRAY | OBJECT } } ON EMPTY ]
18615- [ { ERROR | NULL | EMPTY { ARRAY | OBJECT } } ON ERROR ]
18615+ [ { ERROR | NULL | EMPTY { ARRAY | OBJECT } | DEFAULT expression } ON EMPTY ]
18616+ [ { ERROR | NULL | EMPTY { ARRAY | OBJECT } | DEFAULT expression } ON ERROR ]
1861618617 | <replaceable>name</replaceable> <replaceable>type</replaceable> EXISTS [ PATH <replaceable>json_path_specification</replaceable> ]
1861718618 [ { ERROR | TRUE | FALSE | UNKNOWN } ON ERROR ]
1861818619 | NESTED PATH <replaceable>json_path_specification</replaceable> [ AS <replaceable>path_name</replaceable> ]
@@ -18718,7 +18719,7 @@ where <replaceable class="parameter">json_table_column</replaceable> is:
1871818719 <para>
1871918720 The <literal>COLUMNS</literal> clause defining the schema of the
1872018721 constructed view. In this clause, you must specify all the columns
18721- to be filled with SQL/JSON items. Only scalar column types are supported.
18722+ to be filled with SQL/JSON items.
1872218723 The <replaceable class="parameter">json_table_column</replaceable>
1872318724 expression has the following syntax variants:
1872418725 </para>
@@ -18746,11 +18747,22 @@ where <replaceable class="parameter">json_table_column</replaceable> is:
1874618747 In this case, the column name must correspond to one of the
1874718748 keys within the SQL/JSON item produced by the row pattern.
1874818749 </para>
18750+ <para>
18751+ Internally, <xref linkend="functions-jsonvalue"/> and
18752+ <xref linkend="functions-jsonquery"/> are used to produce resulting values.
18753+ <xref linkend="functions-jsonquery"/> is used for JSON, array, and
18754+ composite column types, <xref linkend="functions-jsonvalue"/> is used for
18755+ other types.
18756+ </para>
1874918757 <para>
1875018758 Optionally, you can add <literal>ON EMPTY</literal> and
18751- <literal>ON ERROR</literal> clauses to define how to handle
18752- missing values or structural errors. These clauses have the same syntax
18753- and semantics as in <xref linkend="functions-jsonvalue"/>.
18759+ <literal>ON ERROR</literal> clauses to define how to handle missing values
18760+ or structural errors.
18761+ <literal>WRAPPER</literal> and <literal>QUOTES</literal> clauses can only
18762+ be used with JSON, array, and composite types.
18763+ These clauses have the same syntax and semantics as in
18764+ <xref linkend="functions-jsonvalue"/> and
18765+ <xref linkend="functions-jsonquery"/>.
1875418766 </para>
1875518767 </listitem>
1875618768 </varlistentry>
@@ -18777,6 +18789,10 @@ where <replaceable class="parameter">json_table_column</replaceable> is:
1877718789 In this case, the column name must correspond to one of the
1877818790 keys within the SQL/JSON item produced by the row pattern.
1877918791 </para>
18792+ <para>
18793+ Internally, <xref linkend="functions-jsonquery"/> is used to produce
18794+ resulting values.
18795+ </para>
1878018796 <para>
1878118797 Optionally, you can add <literal>WRAPPER</literal>, <literal>QUOTES</literal>,
1878218798 <literal>ON EMPTY</literal> and <literal>ON ERROR</literal> clauses
0 commit comments