From: | Alexey Klyukin <alexk(at)commandprompt(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alex Hunsaker <badalex(at)gmail(dot)com>, "David E(dot) Wheeler" <david(at)kineticode(dot)com>, Amit Khandekar <amit(dot)khandekar(at)enterprisedb(dot)com>, hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Subject: | Re: pl/perl example in the doc no longer works in 9.1 |
Date: | 2011-10-13 20:10:20 |
Message-ID: | 123C7889-BCE1-467F-A678-E8ACE9363720@commandprompt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Oct 13, 2011, at 9:02 PM, Tom Lane wrote:
> Alex Hunsaker <badalex(at)gmail(dot)com> writes:
>> On Wed, Oct 12, 2011 at 15:33, Alex Hunsaker <badalex(at)gmail(dot)com> wrote:
>>> On Wed, Oct 12, 2011 at 15:00, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>> The core of the problem seems to be that if SvROK(sv) then
>>>> the code assumes that it must be intended to convert that to an array or
>>>> composite, no matter whether the declared result type of the function is
>>>> compatible with such a thing.
>
>> PFA my attempt at a fix.
>
>> This gets rid of of most of the if/else chain and the has_retval crap
>> in plperl_handl_func(). Instead we let plperl_sv_to_datum() do most of
>> the lifting. It also now handles VOIDOID and checks that the request
>> result oid can be converted from the perl structure. For example if
>> you passed in a hashref with a result oid that was not an rowtype it
>> will error out with "PL/Perl cannot convert hash to non rowtype %s".
>> Arrays behave similarly.
>
> I'm working through this patch now. Does anyone object to having the
> array-to-non-array-result-type and hash-to-non-rowtype-result-type cases
> throw errors, rather than returning the rather useless ARRAY(...) and
> HASH(...) strings as pre-9.1 did?
No objections here.
--
Alexey Klyukin http://www.commandprompt.com
The PostgreSQL Company – Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2011-10-13 22:05:45 | Re: pl/perl example in the doc no longer works in 9.1 |
Previous Message | Thom Brown | 2011-10-13 19:12:01 | Re: Additional supplied modules |