Re: documentation structure
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andrew Dunstan <andrew@dunslane.net>,
Robert Haas <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org"
<pgsql-hackers@postgresql.org>
Date: 2024-04-17T11:07:24Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
docs: Consistently use <optional> to indicate optional parameters
- 0d829703363b 18.0 landed
-
docs: Consolidate into new "WAL for Extensions" chapter.
- 09d9800e5282 17.0 landed
-
freespace: Don't return blocks past the end of the main fork.
- 935829743151 17.0 cited
-
docs: Merge separate chapters on built-in index AMs into one.
- fe8eaa54420c 17.0 landed
-
docs: Demote "Monitoring Disk Usage" from chapter to section.
- f470b5c67924 17.0 landed
-
doc: move system views section to its own chapter
- 64d364bb39cb 16.0 cited
Andres Freund <andres@anarazel.de> writes:
> Definitely shouldn't be the same in all cases, but I think there's a decent
> number of cases where they can be the same. The differences between the two is
> often minimal today.
>
> Entirely randomly chosen example:
>
> { oid => '2825',
> descr => 'slope of the least-squares-fit linear equation determined by the (X, Y) pairs',
> proname => 'regr_slope', prokind => 'a', proisstrict => 'f',
> prorettype => 'float8', proargtypes => 'float8 float8',
> prosrc => 'aggregate_dummy' },
>
> and
>
> <row>
> <entry role="func_table_entry"><para role="func_signature">
> <indexterm>
> <primary>regression slope</primary>
> </indexterm>
> <indexterm>
> <primary>regr_slope</primary>
> </indexterm>
> <function>regr_slope</function> ( <parameter>Y</parameter> <type>double precision</type>, <parameter>X</parameter> <type>double precision</type> )
> <returnvalue>double precision</returnvalue>
> </para>
> <para>
> Computes the slope of the least-squares-fit linear equation determined
> by the (<parameter>X</parameter>, <parameter>Y</parameter>)
> pairs.
> </para></entry>
> <entry>Yes</entry>
> </row>
>
>
> The description is quite similar, the pg_proc entry lacks argument names.
>
>
>> This sounds to me like it would be a painful exercise with not a
>> lot of benefit in the end.
>
> I think the manual work for writing signatures in sgml is not insignificant,
> nor is the volume of sgml for them. Manually maintaining the signatures makes
> it impractical to significantly improve the presentation - which I don't think
> is all that great today.
And it's very inconsistent. For example, some functions use <optional>
tags for optional parameters, others use square brackets, and some use
<literal>VARIADIC</literal> to indicate variadic parameters, others use
ellipses (sometimes in <optional> tags or brackets).
> And the lack of argument names in the pg_proc entries is occasionally fairly
> annoying, because a \df+ doesn't provide enough information to use functions.
I was also annoyed by this the other day (specifically wrt. the boolean
arguments to pg_ls_dir), and started whipping up a Perl script to parse
func.sgml and generate missing proargnames values for pg_proc.dat, which
is how I discovered the above. The script currently has a pile of hacky
regexes to cope with that, so I'd be happy to submit a doc patch to turn
it into actual markup to get rid of that, if people think that's a
worhtwhile use of time and won't clash with any other plans for the
documentation.
> It'd also be quite useful if clients could render more of the documentation
> for functions. People are used to language servers providing full
> documentation for functions etc...
A more user-friendly version of \df+ (maybe spelled \hf, for symmetry
with \h for commands?) would certainly be nice.
> Greetings,
>
> Andres Freund
- ilmari