Doc: section "8.21. Pseudo-Types" needs a bit of clarification?

From: Aleksander Alekseev <aleksander(at)timescale(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Doc: section "8.21. Pseudo-Types" needs a bit of clarification?
Date: 2025-05-27 18:14:51
Message-ID: CAJ7c6TNVs6ahw81NNU=D5A-Lp3+d2FxncSApzPbP8fgQhOfQ3g@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

While reading our documentation about pseudo-types [1] I noticed that it says:

"""
anyelement - Indicates that a function accepts any data type
anyarray - Indicates that a function accepts any array data type
"""

This may give an impression that anyelement and anyarray can be used
as an argument ("accepted") but not as a return value, while in fact
they can. In particular we have [2]:

"""
array_fill(anyelement, integer[] [, integer[] ] ) -> anyarray
unnest(anyarray) -> setof anyelement
"""

What makes section 8.21 even more confusing is the fact that a little
below we say:

"""
cstring - Indicates that a function accepts or *returns* a
null-terminated C string
"""

Should we be slightly more precise here?

[1]: https://www.postgresql.org/docs/current/datatype-pseudo.html
[2]: https://www.postgresql.org/docs/current/functions-array.html

--
Best regards,
Aleksander Alekseev

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2025-05-27 18:21:30 Re: Non-reproducible AIO failure
Previous Message Masahiko Sawada 2025-05-27 18:08:23 Re: Replication slot is not able to sync up