Hi,

Attached are a few small changes to the JSON_TABLE section in func.sgml.

The first two changes are simple typos.

Then there was this line:

----
context_item, path_expression [ AS json_path_name ] [ PASSING { value AS varname } [, ...]]
----

those are the parameters to JSON_TABLE() so I changed that line to:

----
JSON_TABLE(context_item, path_expression [ AS json_path_name ] [ PASSING { value AS varname } [, ...]])
----

Some parts of the JSON_TABLE text strike me as opaque. For instance, there are paragraphs that more than once use the term:
   json_api_common_syntax

'json_api_common_syntax' is not explained. It turns out it's a relic from Nikita's original docs. I dug up a 2018 patch where the term is used as:

---- 2018:
JSON_TABLE (
 json_api_common_syntax [ AS path_name ]
 COLUMNS ( json_table_column [, ...] )
     (etc...)
----

with explanation:

---- 2018:
json_api_common_syntax:
The input data to query, the JSON path expression defining the query, and an optional PASSING clause.
----

So that made sense then (input+jsonpath+params=api), but it doesn't now fit as such in the current docs.

I think it would be best to remove all uses of that compound term, and rewrite the explanations using only the current parameter names (context_item, path_expression, etc).

But I wasn't sure and I haven't done any such changes in the attached.

Perhaps I'll give it a try during the weekend.


Erik Rijkers


--- ./doc/src/sgml/func.sgml.orig	2022-07-08 19:46:46.018505707 +0200
+++ ./doc/src/sgml/func.sgml	2022-07-08 20:47:35.488303254 +0200
@@ -18026,7 +18026,7 @@
         or array, but if it is <literal>CONDITIONAL</literal> it will not be
         applied to a single array or object. <literal>UNCONDITIONAL</literal>
         is the default.
-        If the result is a a scalar string, by default the value returned will have
+        If the result is a scalar string, by default the value returned will have
         surrounding quotes making it a valid JSON value. However, this behavior
         is reversed if <literal>OMIT QUOTES</literal> is specified.
         The <literal>ON ERROR</literal> and <literal>ON EMPTY</literal>
@@ -18097,7 +18097,7 @@
    columns. Columns produced by <literal>NESTED PATH</literal>s at the
    same level are considered to be <firstterm>siblings</firstterm>,
    while a column produced by a <literal>NESTED PATH</literal> is
-   considered to be a child of the column produced by and
+   considered to be a child of the column produced by a
    <literal>NESTED PATH</literal> or row expression at a higher level.
    Sibling columns are always joined first. Once they are processed,
    the resulting rows are joined to the parent row.
@@ -18106,7 +18106,7 @@
   <variablelist>
    <varlistentry>
     <term>
-     <literal><parameter>context_item</parameter>, <parameter>path_expression</parameter> <optional> <literal>AS</literal> <parameter>json_path_name</parameter> </optional> <optional> <literal>PASSING</literal> { <parameter>value</parameter> <literal>AS</literal> <parameter>varname</parameter> } <optional>, ...</optional></optional></literal>
+     <literal>JSON_TABLE(<parameter>context_item</parameter>, <parameter>path_expression</parameter> <optional> <literal>AS</literal> <parameter>json_path_name</parameter> </optional> <optional> <literal>PASSING</literal> { <parameter>value</parameter> <literal>AS</literal> <parameter>varname</parameter> } <optional>, ...</optional></optional>)</literal>
     </term>
     <listitem>
     <para>

Reply via email to