Re: PL/Perl list value return causes segfault

From: David Fetter <david(at)fetter(dot)org>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Michael Fuhr <mike(at)fuhr(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: PL/Perl list value return causes segfault
Date: 2005-07-12 21:01:36
Message-ID: 20050712210136.GA22301@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-hackers pgsql-patches

On Tue, Jul 12, 2005 at 03:45:55PM -0400, Andrew Dunstan wrote:
>
>
> 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.

Is this a kind of pilot error that documents could help avert in some
useful way?

Cheers,
D
--
David Fetter david(at)fetter(dot)org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778

Remember to vote!

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Andrew Dunstan 2005-07-12 22:41:53 Re: PL/Perl list value return causes segfault
Previous Message Tom Lane 2005-07-12 20:36:17 Re: PL/Perl list value return causes segfault

Browse pgsql-hackers by date

  From Date Subject
Next Message Hannu Krosing 2005-07-12 21:03:22 Re: CONCURRENT INDEXing again (was: Must be owner to
Previous Message Tom Lane 2005-07-12 20:36:17 Re: PL/Perl list value return causes segfault

Browse pgsql-patches by date

  From Date Subject
Next Message Andrew Dunstan 2005-07-12 21:06:27 Re: [PATCHES] HEAD doesn't cope with libraries in non-default
Previous Message Tom Lane 2005-07-12 20:36:17 Re: PL/Perl list value return causes segfault