On 11/18/20 9:21 PM, Pavel Stehule wrote: > postgres=# create or replace function bubu(a int, b int) > returns void as $$ > #routine_label b > begin > raise notice '% %', b.a, b.b; > end; > $$ language plpgsql;
Why not use the block labeling syntax we already have?
create or replace function bubu(a int, b int) returns void as $$ << b >> begin raise notice '% %', b.a, b.b; end; $$ language plpgsql;
That doesn't currently work, but it could be made to.
I don't think it is correct - in your example you are trying to merge two different namespaces - so minimally it should allow duplicate names in one namespace, or it breaks compatibility.
And I don't think so we want to lose information and separate access to function's arguments.