Обсуждение: pg_get_functiondef and overloaded functions
Hi, I'm playing around with the new pg_get_functiondef() function but I can't get it to work when I need to specify the argumentlist. select pg_get_functiondef('foo'::regproc) works without problems. However if I have e.g. foo(int) and foo(int, int) I can't get this to work. I tried select pg_get_functiondef('foo(int)'::regproc) select pg_get_functiondef('foo(int4)'::regproc) select pg_get_functiondef('foo(integer)'::regproc) but each time I get the error: function "foo(integer)" does not exist What am I missing? Regards Thomas
Thomas Kellerer <spam_eater@gmx.net> writes: > I tried > select pg_get_functiondef('foo(int)'::regproc) > select pg_get_functiondef('foo(int4)'::regproc) > select pg_get_functiondef('foo(integer)'::regproc) > but each time I get the error: function "foo(integer)" does not exist > What am I missing? You need to use regprocedure. regproc is mainly for bootstrap purposes --- it accepts a function name only. regards, tom lane
Tom Lane wrote on 30.10.2009 05:44: >> select pg_get_functiondef('foo(int)'::regproc) >> select pg_get_functiondef('foo(int4)'::regproc) >> select pg_get_functiondef('foo(integer)'::regproc) >> but each time I get the error: function "foo(integer)" does not exist >> What am I missing? > > You need to use regprocedure. regproc is mainly for bootstrap purposes > --- it accepts a function name only. > Thanks, works fine. Where would I find a documentation of all those types? The section about pg_get_functiondef (and others) doesn't mention this. Regards Thomas