Re: BUG #13638: Exception texts from plperl has bad encoding
От | Michal Leinweber |
---|---|
Тема | Re: BUG #13638: Exception texts from plperl has bad encoding |
Дата | |
Msg-id | d7e348cdf513e534e0a1a08d55d77d77@leisoft.cz обсуждение исходный текст |
Ответ на | Re: BUG #13638: Exception texts from plperl has bad encoding (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-bugs |
The problem is not only with elog call, but it also fires if plpgsql code called from plperl function raises exception. Best Regards, Michal Leinweber On 2015-09-25 21:33, Tom Lane wrote: > I wrote: >> I suspect the root problem is that instead of baldly doing >> croak("%s", edata->message); >> in do_util_elog(), we need to do something to inform Perl what >> encoding >> the message string is in. This is beyond my Perl-fu, however. > > BTW, if the answer to that involves turning the message back into an > SV, > I think we should not do that but just use the SV that was passed in > originally. Then the TRY/CATCH could go away entirely, ie the code > would become roughly like > > if (level < ERROR) > { > cmsg = sv2cstr(msg); > elog(level, "%s", cmsg); > pfree(cmsg); > } > else > { > croak-with-SV(msg); > } > > which knows slightly more about the meaning of "level" than before, > but otherwise seems much less entangled with anything. > > It's still beyond my Perl-fu ... > > regards, tom lane
В списке pgsql-bugs по дате отправления: