Re: arrays as pl/perl input arguments [PATCH] - Mailing list pgsql-hackers

From Alexey Klyukin
Subject Re: arrays as pl/perl input arguments [PATCH]
Date
Msg-id 54EEBDFC-FB30-4767-B158-F24EADB90E56@commandprompt.com
Whole thread Raw
In response to Re: arrays as pl/perl input arguments [PATCH]  ("David E. Wheeler" <david@kineticode.com>)
Responses Re: arrays as pl/perl input arguments [PATCH]  ("David E. Wheeler" <david@kineticode.com>)
List pgsql-hackers
On Jan 12, 2011, at 1:07 AM, David E. Wheeler wrote:

> On Jan 11, 2011, at 2:25 PM, Alexey Klyukin wrote:
>
>> Hello,
>>
>> Here's the patch that improves handling of arrays as pl/perl function input
>> arguments, converting postgres arrays of arbitrary dimensions into perl array
>> references.
>
> Awesome! I've wanted this for *years*.
>
>> It includes regression tests and a documentation changes, and it
>> builds and runs successfully on my mac os x and linux boxes. To maintain
>> compatibility with existing pl/perl code a new variable,
>> plperl.convert_array_arguments (better name?), is introduced. Its default
>> value is false, when set to true it triggers the new behavior, i.e.
>
> Have you considered instead passing an array-based object with is string overloading designed to return the pg array
stringformat? That would make for nice, transparent compatibility without the need for a GUC. 

You mean packing both a string representation and a reference to a single SV * value?

I haven't considered that (lack of extensive perlgus-foo) although I think that's an interesting idea. One drawback
wouldbe that it would require both conversion to a string format and to a perl reference, performing unnecessary
actionsduring every time arrays are passed to a pl/perl function. If there is a strong dislike of the proposed
'compatibility'GUC option - I think I can change the existing patch to incorporate array string representation into the
reference-holdingSV quite easily. 

/A

--
Alexey Klyukin
The PostgreSQL Company - Command Prompt, Inc.






pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: pg_depend explained
Next
From: Noah Misch
Date:
Subject: Re: ALTER TYPE 1: recheck index-based constraints