Re: Weird return-value from pg_get_function_identity_arguments() oncertain aggregate functions?

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Weird return-value from pg_get_function_identity_arguments() oncertain aggregate functions?
Дата
Msg-id CAKFQuwaMpCy4cmpLriLusw=iawCUB1F0wgjH_dFpu3VXB=Wjug@mail.gmail.com
обсуждение исходный текст
Ответ на Weird return-value from pg_get_function_identity_arguments() oncertain aggregate functions?  (P O'Toole <P.OToole@uwyo.edu>)
Ответы Re: Weird return-value from pg_get_function_identity_arguments() oncertain aggregate functions?
Список pgsql-bugs
On Mon, Mar 12, 2018 at 2:19 PM, P O'Toole <P.OToole@uwyo.edu> wrote:


According to the System Information Functions docs, pg_get_function_identity_arguments(OID) should simply "get argument list to identify a function (without default values)", but one example of how it behaves strangely is that:

 

SELECT pg_get_function_identity_arguments('pg_catalog.percentile_disc(DOUBLE PRECISION[], ANYELEMENT)'::REGPROCEDURE)



​FWIW a simple \dfS percentile* will elicit the same description.

I suppose it depends on what you are using the output for - the (percentile*) functions that are decorated with ORDER BY are exclusively aggregate, as opposed to standard, functions.

An ORDER BY is not a "default value" so we aren't really contradicting the docs - though seeing ORDER BY in a function signature is a surprise to me too...but reading the doc for CREATE AGGREGATE the SQL command syntax is:

CREATE AGGREGATE name ( [ [ argmode ] [ argname ] arg_data_type [ , ... ] ]
                        ORDER BY [ argmode ] [ argname ] arg_data_type [ , ... ] )

So I'd have to say this is working correctly.

I seem to recall some recent (last few weeks) discussion regarding aggregates vs functions in the information schema.  That may prove to be enlightening but at the moment I don't have time to go look for and review it.

David J.

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

Предыдущее
От: P O'Toole
Дата:
Сообщение: Weird return-value from pg_get_function_identity_arguments() oncertain aggregate functions?
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: Weird return-value from pg_get_function_identity_arguments() oncertain aggregate functions?