Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Workaround to get arrays for plperl



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" <cat(at)zip(dot)com(dot)au>
To: <Eugen(dot)Konkov(at)aldec(dot)com>
Cc: <pgsql-bugs(at)postgresql(dot)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, Eugen(dot)Konkov(at)aldec(dot)com 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




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group