pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruce Momjian <bruce@momjian.us>
To: alex.denman@nih.gov
To: pgsql-docs@lists.postgresql.org
Subject: Re: JSON/JSONB documentation, aggregate functions
Date: Tue, 11 Oct 2022 11:48:21 -0400
Message-ID: <Y0WQRd/W94CuevdX@momjian.us> (raw)
In-Reply-To: <166335888474.659.16897487975376230364@wrigleys.postgresql.org>
References: <166335888474.659.16897487975376230364@wrigleys.postgresql.org>

On Fri, Sep 16, 2022 at 08:08:04PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
> 
> Page: https://www.postgresql.org/docs/14/functions-json.html
> Description:
> 
> Regarding the Json documentation (9.16.1: processing and creating JSON
> data), I would like to suggest that the reference to
> json_agg/jsonb_agg/json_object_agg/jsonb_object_agg (section 9.21) be made
> more prominent. When looking through the list of json[b] processing
> functions, it's really easy to miss the footnote mentioning the aggregate
> functions. The list of functions in table 9.47 includes a lot of functions
> that are *really*similar in purpose to the json aggregator functions, and
> it's easy to assume that anything related to building JSON[B] objects *must*
> be listed there. I just spent hours searching for a way to turn one column
> of keys and one column of values into a JSONB object (without coercing all
> numeric values to json strings), and I can't imagine I'm the only one.

I see your point --- that the aggregate sentence is at the end of the
section, after four massive tables.  The attached patch moves the
paragraph up to the end of the section's introductory paragraph.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Indecision is a decision.  Inaction is an action.  Mark Batterson

Attachments:

  [text/x-diff] agg.diff (1.4K, ../Y0WQRd%2FW94CuevdX@momjian.us/2-agg.diff)
  download | inline diff:
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index b2bdbc7d1c..8dd543a2c1 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -15149,6 +15149,12 @@ table2-mapping
    <type>jsonb</type>, though not for <type>json</type>.  The comparison
    operators follow the ordering rules for B-tree operations outlined in
    <xref linkend="json-indexing"/>.
+   See also <xref linkend="functions-aggregate"/> for the aggregate
+   function <function>json_agg</function> which aggregates record
+   values as JSON, the aggregate function
+   <function>json_object_agg</function> which aggregates pairs of values
+   into a JSON object, and their <type>jsonb</type> equivalents,
+   <function>jsonb_agg</function> and <function>jsonb_object_agg</function>.
   </para>
 
   <table id="functions-json-op-table">
@@ -16604,15 +16610,6 @@ table2-mapping
      </tbody>
     </tgroup>
    </table>
-
-  <para>
-    See also <xref linkend="functions-aggregate"/> for the aggregate
-    function <function>json_agg</function> which aggregates record
-    values as JSON, the aggregate function
-    <function>json_object_agg</function> which aggregates pairs of values
-    into a JSON object, and their <type>jsonb</type> equivalents,
-    <function>jsonb_agg</function> and <function>jsonb_object_agg</function>.
-  </para>
  </sect2>
 
  <sect2 id="functions-sqljson-path">

view thread (3+ messages)  latest in thread

Message-ID: <Y0WQRd/W94CuevdX@momjian.us>
Permalink:  ../Y0WQRd%2FW94CuevdX@momjian.us/
Also on:    postgresql.org/message-id/Y0WQRd/W94CuevdX@momjian.us

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: bruce@momjian.us, alex.denman@nih.gov, pgsql-docs@lists.postgresql.org
  Subject: Re: JSON/JSONB documentation, aggregate functions
  In-Reply-To: <Y0WQRd/W94CuevdX@momjian.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox