Subject: pgsql: Doc: improve explanation of type interval, especially extract().

From: Tom Lane <[email-masked]>
Date: Tue, 20 Feb 2024 19:35:29 +0000

Doc: improve explanation of type interval, especially extract().

The explanation of interval's behavior in datatype.sgml wasn't wrong
exactly, but it was unclear, partly because it buried the lede about
there being three internal fields.  Rearrange and wordsmith for more
clarity.

The discussion of extract() claimed that input of type date was
handled by casting, but actually there's been a separate SQL function
taking date for a very long time.  Also, it was mostly silent about
how interval inputs are handled, but there are several field types
for which it seems useful to be specific.

Improve discussion of justify_days()/justify_hours() too.

In passing, remove vertical space in some groups of examples,
as there was little consistency about whether to have such space
or not.  (I only did this within the datetime functions section;
there are some related inconsistencies elsewhere.)

Per discussion of bug #18348 from Michael Bondarenko.  There
may be some code changes coming out of that discussion too,
but we likely won't back-patch them.  This docs-only patch
seems useful to back-patch, though I only carried it back to
v13 because it didn't apply easily in v12.

Discussion: https://postgr.es/m/[email-masked]

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/eb1d008a7a18f2cf863e21e285b6db5858d0d5d9

Modified Files
--------------
doc/src/sgml/datatype.sgml |  71 ++++++++++++++++-------------
doc/src/sgml/func.sgml     | 108 +++++++++++++++++++++++----------------------
2 files changed, 96 insertions(+), 83 deletions(-)