/**********************************************************************
* plperl.c - perl as a procedural language for PostgreSQL
*
- * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.123.2.6 2009/06/05 20:32:27 adunstan Exp $
+ * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.123.2.7 2009/09/28 17:30:24 adunstan Exp $
*
**********************************************************************/
if (SvOK(sv))
{
- char *val = SvPV(sv, PL_na);
+ char *val;
+
+ if (prodesc->fn_retisarray && SvROK(sv) &&
+ SvTYPE(SvRV(sv)) == SVt_PVAV)
+ {
+ sv = plperl_convert_to_pg_array(sv);
+ }
+
+ val = SvPV(sv, PL_na);
ret = InputFunctionCall(&prodesc->result_in_func, val,
prodesc->result_typioparam, -1);