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-17T18:37:21Z
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
Attachments
Andres Freund <andres@anarazel.de> writes: > Hi, > > On 2024-04-17 12:07:24 +0100, Dagfinn Ilmari Mannsåker wrote: >> Andres Freund <andres@anarazel.de> writes: >> > 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). > > That seems almost inevitably the outcome of many people having to manually > infer the recommended semantics, for writing something boring but nontrivial, > from a 30k line file. As Corey mentioned elsethread, having a markup style guide (maybe a comment at the top of the file?) would be nice. >> > 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), > > My bane is regexp_match et al, I have given up on remembering the argument > order. There's a thread elsewhere about those specifically, but I can't be bothered to find the link right now. >> 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. > > Nice. > >> 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. > > I guess it's a bit hard to say without knowing how voluminious the changes > would be. If we end up rewriting the whole file the tradeoff is less clear > than if it's a dozen inconsistent entries. It turned out to not be that many that used [] for optional parameters, see the attached patch. I havent dealt with variadic yet, since the two styles are visually different, not just markup (<optional>...</optional> renders as [...]). The two styles for variadic are the what I call caller-style: concat ( val1 "any" [, val2 "any" [, ...] ] ) format(formatstr text [, formatarg "any" [, ...] ]) which shows more clearly how you'd call it, versus definition-style: num_nonnulls ( VARIADIC "any" ) jsonb_extract_path ( from_json jsonb, VARIADIC path_elems text[] ) which matches the CREATE FUNCTION statement. I don't have a strong opinion on which we should use, but we should be consistent. > Greetings, > > Andres Freund - ilmari