Yes, It is dangerous. But there is no other way to get arrays for plperl
The doc says that all passed to plperl function are strings ((

Another strange is that that '{1,2,3,4}' looks as hash in perl
It will be more conviniet if arrays passed as '[1,2,3,4]' strings if PG can not pass them as arrays

----- Original Message ----- From: "CaT" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <pgsql-bugs@postgresql.org>
Sent: Sunday, March 30, 2008 4:27 PM
Subject: Re: [BUGS] Workaround to get arrays for plperl


On Sun, Mar 30, 2008 at 04:23:07PM +0300, [EMAIL PROTECTED] wrote:
It seems that function get arrays as strings in plperl.
This is a little workaround who want pass arrays to plperl functions

my( $strarr )= @_;
$strarr =~ s/{/[/g;
$strarr =~ s/}/]/g;
my $arr= eval $strarr;

NOTICE:
you must create you function as plperlu
and add language:
create language plperlu;

It's late and I'm sleepy, but, that looks extremely hazardous to ones
health. Esp if the arrays you speak of have any chance of containing
anything that might look like perl code to begin with. ie think sql
injection, but with perl code rather then sql.

cat


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to