On Tue, Mar 06, 2012 at 09:08:25PM -0700, Alex Hunsaker wrote:
> [ Calling a plperl trigger function from a plperl function ]
> 
> Yeah, there were some optimization done for 9.1 to try and make calls
> a bit faster. The problem is we are fetching "_TD" not "main::_TD",
> which means we try to find and use $_TD from whatever the current
> package is. This should only happen from a nested plperl to plperl
> trigger where the outer call was in a different package, otherwise the
> package is always main.
> 
> The attached fixes it for me, It would be great if you could confirm that.
> 
> Thanks for the report!

So, should this be applied?

---------------------------------------------------------------------------


> *** a/src/pl/plperl/plperl.c
> --- b/src/pl/plperl/plperl.c
> ***************
> *** 2062,2068 **** plperl_call_perl_trigger_func(plperl_proc_desc *desc, 
> FunctionCallInfo fcinfo,
>       ENTER;
>       SAVETMPS;
>   
> !     TDsv = get_sv("_TD", 0);
>       if (!TDsv)
>               elog(ERROR, "couldn't fetch $_TD");
>   
> --- 2062,2068 ----
>       ENTER;
>       SAVETMPS;
>   
> !     TDsv = get_sv("main::_TD", 0);
>       if (!TDsv)
>               elog(ERROR, "couldn't fetch $_TD");
>   

> 
> -- 
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs


-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to