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. > 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? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers