On Mon, Aug 28, 2023 at 9:53 AM Luca Ferrari <fluca1978@gmail.com> wrote:
>
> testdb=# create or replace function f( a int )
> returns text
> as $$
> use feature 'signatures';
shame on me!
Clearly this cannot work because at the 'use' stage the function is
already running, so the signatures feature is evaluated in the context
of the function itself.
However, this also does not work:
postgres=# alter system set plperl.on_init to 'use feature q/signatures/;';
As far as I understand, the plperl code in plperl.c does the following
for a non-array input parameter:
sv = (SV *) DatumGetPointer(OidFunctionCall1(funcid, fcinfo->args[i].value));
and that does not put the argument name, so it seems to me there is no
way to handle this at the moment.
But that code is too scary for me!
Luca