Re: PL/Perl list value return causes segfault

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: PL/Perl list value return causes segfault
Дата
Msg-id 42D41DF3.6050702@dunslane.net
обсуждение исходный текст
Ответ на Re: PL/Perl list value return causes segfault  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Ответы Re: PL/Perl list value return causes segfault  (David Fetter <david@fetter.org>)
Список pgsql-hackers

Alvaro Herrera wrote:

>On Tue, Jul 12, 2005 at 02:59:37PM -0400, Andrew Dunstan wrote:
>
>  
>
>>Note that all plperl functions are called in scalar context, and it is 
>>always wrong to return a list (as opposed to a listref). In fact, the 
>>value received might surprise you even if it worked (it would be the 
>>value of the last member of the list).
>>    
>>
>
>Hmm, I don't know if it's feasible to do in Perl, but maybe check
>whether the function wants to return something in list context and throw
>an appropiate error message?
>
>  
>

In perl, if there is any ambiguity it is the called function that is 
responsible for checking, not the caller. See "perldoc -f wantarray". 
PLPerl explicitly passed G_SCALAR as a flag on all calls to plperl 
routines. So returning a list is a case of pilot error.

cheers

andrew


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: PL/Perl list value return causes segfault
Следующее
От: Mark Wong
Дата:
Сообщение: dbt2 & opteron performance