Re: possible proposal plpgsql GET DIAGNOSTICS oid = PG_ROUTINE_OID
От | Kirk Wolak |
---|---|
Тема | Re: possible proposal plpgsql GET DIAGNOSTICS oid = PG_ROUTINE_OID |
Дата | |
Msg-id | CACLU5mSgxBXphh_rN-7r3iXjq4ymEtcBsibHwVR0kvLJKQwD9g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: possible proposal plpgsql GET DIAGNOSTICS oid = PG_ROUTINE_OID (Kirk Wolak <wolakk@gmail.com>) |
Ответы |
Re: possible proposal plpgsql GET DIAGNOSTICS oid = PG_ROUTINE_OID
|
Список | pgsql-hackers |
On Sun, Mar 26, 2023 at 5:37 PM Kirk Wolak <wolakk@gmail.com> wrote:
On Wed, Feb 8, 2023 at 10:56 AM Kirk Wolak <wolakk@gmail.com> wrote:On Wed, Feb 8, 2023 at 3:08 AM Pavel Stehule <pavel.stehule@gmail.com> wrote:hist 8. 2. 2023 v 7:33 odesílatel Julien Rouhaud <rjuju123@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 thatcreate 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 exceptionRegardsPavelI agree that the name changed to pg_current_routine_... makes the most sense, great call...+1Okay, I reviewed this. I tested it (allocating too small of varchar's for values, various "signature types"),and also a performance test... Wow, on my VM, 10,000 Calls in a loop was 2-4ms...The names are clear. Again, I tested with various options, and including ROW_COUNT, or not.This functions PERFECTLY.... Except there are no documentation changes.Because of that, I set it to Waiting on Author.Which might be unfair, because I could take a stab at doing the documentation (but docs are not compiling on my setup yet).The documentation changes are simple enough.If I can get the docs compiled on my rig, I will see if I can make the changes, and post an updated patch,that contains both...But I don't want to be stepping on toes, or having it look like I am taking credit.Regards - Kirk
Okay, I have modified the documentation and made sure it compiles. They were simple enough changes.
I am attaching this updated patch.
I have marked the item Ready for Commiter...
Thanks for your patience. I now have a workable hacking environment!
Thanks for your patience. I now have a workable hacking environment!
Regards - Kirk
Вложения
В списке pgsql-hackers по дате отправления: