Re: Issue with GRANT/COMMENT ON FUNCTION with default

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: Issue with GRANT/COMMENT ON FUNCTION with default
Дата
Msg-id DF8A167B-3561-46D4-BC37-17B581DE89A9@nasby.net
обсуждение исходный текст
Ответ на Re: Issue with GRANT/COMMENT ON FUNCTION with default  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
On 5/5/14, 3:22 PM, Alvaro Herrera wrote:
> Jim Nasby wrote:
>> Prior to default parameters on functions, GRANT and COMMENT accepted full parameter syntax. IE:
>>
>> GRANT EXECUTE ON test(t text) TO public
>>
>> as opposed to regprocedure, which only accepts the data types ( test(text), not test(t text) ).
>>
>> They do not accept DEFAULT though:
>>
>> GRANT EXECUTE ON FUNCTION test(t text DEFAULT '') to public;
>> ERROR:  syntax error at or near "DEFAULT"
>> LINE 1: GRANT EXECUTE ON FUNCTION test(t text DEFAULT '') to public;
>>
>> Presumably this is just an oversight?
>
> I have to say that accepting DEFAULT there seems pretty odd to me.  What
> if you specify the wrong default?  Do you get a "no such function"
> error?  That would be pretty unhelpful.  But then accepting it ignoring
> the fact that the default is wrong would be rather strange.

We already have that exact problem with the name of the argument.

decibel@decina.cashnetusa=# CREATE FUNCTION test(t text default '') RETURNS text LANGUAGE sql AS 'SELECT $1';
CREATE FUNCTION
decibel@decina.cashnetusa=# GRANT EXECUTE ON FUNCTION test(baz text) to public;
GRANT
decibel@decina.cashnetusa=#

>> Related to that, is it intentional that the regprocedure cast
>> disallows *any* decorators to the function, other than type? If
>> regprocedure at least accepted the full function parameter definition
>> you could use it to get a definitive reference to a function.
>
> Does pg_identify_object() give you what you want?

No, because I'd need an OID, and I have no way of reliably getting that because the regprocedure cast won't even accept
additionalinformation beyond data type. 
--
Jim C. Nasby, Data Architect                       jim@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net




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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: Sending out a request for more buildfarm animals?
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Compilation errors with mingw build caused by undefined optreset