Re: builtin functions, parameter names and psql's \df

Поиск
Список
Период
Сортировка
От Oleksandr Shulgin
Тема Re: builtin functions, parameter names and psql's \df
Дата
Msg-id CACACo5SP8c+0C1VkfqeGyyTqWtEpifvEnom-23Pb6EHxrg+pRg@mail.gmail.com
обсуждение исходный текст
Ответ на builtin functions, parameter names and psql's \df  (Andres Freund <andres@anarazel.de>)
Ответы Re: builtin functions, parameter names and psql's \df
Re: builtin functions, parameter names and psql's \df
Список pgsql-hackers
On Wed, Sep 2, 2020 at 7:35 AM Andres Freund <andres@anarazel.de> wrote:
Hi,

on a regular basis I remember a builtin function's name, or can figure it out
using \df etc, but can't remember the argument order. A typical example is
regexp_*, where I never remember whether the pattern or the input string comes
first.

Unfortunatly \df does not really help with that:

=# \df regexp_split_to_table
┌────────────┬───────────────────────┬──────────────────┬─────────────────────┬──────┐
│   Schema   │         Name          │ Result data type │ Argument data types │ Type │
├────────────┼───────────────────────┼──────────────────┼─────────────────────┼──────┤
│ pg_catalog │ regexp_split_to_table │ SETOF text       │ text, text          │ func │
│ pg_catalog │ regexp_split_to_table │ SETOF text       │ text, text, text    │ func │
└────────────┴───────────────────────┴──────────────────┴─────────────────────┴──────┘

If the parameters were named however, it'd be clear:

=# CREATE OR REPLACE FUNCTION pg_catalog.regexp_split_to_table(string text, pattern text)
 RETURNS SETOF text
 LANGUAGE internal
 IMMUTABLE PARALLEL SAFE STRICT
AS $function$regexp_split_to_table_no_flags$function$

=# \df regexp_split_to_table
┌────────────┬───────────────────────┬──────────────────┬──────────────────────────┬──────┐
│   Schema   │         Name          │ Result data type │   Argument data types    │ Type │
├────────────┼───────────────────────┼──────────────────┼──────────────────────────┼──────┤
│ pg_catalog │ regexp_split_to_table │ SETOF text       │ string text, pattern text │ func │
│ pg_catalog │ regexp_split_to_table │ SETOF text       │ text, text, text         │ func │
└────────────┴───────────────────────┴──────────────────┴──────────────────────────┴──────┘

(I intentionally left the three parameter version unchanged, to show the difference)


In the docs we already name the parameters using SQL like syntax, see [1]. How
about we actually do so for at least the more common / complicated functions?

+many 

I find myself in the same situation a lot.
I've never realized that's an implementation detail and not something fundamental preventing the parameters from being named in the built-in functions.

--
Alex

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: More tests with USING INDEX replident and dropped indexes
Следующее
От: Julien Rouhaud
Дата:
Сообщение: Re: builtin functions, parameter names and psql's \df