On Wed, Feb 8, 2023 at 3:08 AM Pavel Stehule <pavel.steh...@gmail.com> wrote:
> hi > > st 8. 2. 2023 v 7:33 odesílatel Julien Rouhaud <rjuju...@gmail.com> > napsal: > >> On Tue, Feb 07, 2023 at 08:48:22PM +0100, Pavel Stehule wrote: >> > >> > GET DIAGNOSTICS _oid = PG_ROUTINE_OID; >> > RAISE NOTICE '... % ... %', _oid, _oid::regproc::text; >> > >> > Do you think it can be useful feature? >> >> +1, it would have been quite handy in a few of my projects. >> > > it can looks like that > > create or replace function foo(a int) > returns int as $$ > declare s text; n text; o oid; > begin > get diagnostics s = pg_current_routine_signature, > n = pg_current_routine_name, > o = pg_current_routine_oid; > raise notice 'sign:%, name:%, oid:%', s, n, o; > return a; > end; > $$ language plpgsql; > CREATE FUNCTION > (2023-02-08 09:04:03) postgres=# select foo(10); > NOTICE: sign:foo(integer), name:foo, oid:16392 > ┌─────┐ > │ foo │ > ╞═════╡ > │ 10 │ > └─────┘ > (1 row) > > The name - pg_routine_oid can be confusing, because there is not clean if > it is oid of currently executed routine or routine from top of exception > > Regards > > Pavel > I agree that the name changed to pg_current_routine_... makes the most sense, great call... +1