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>