*** pgsql/src/pl/plperl/plperl.c 2009/06/05 20:32:27 1.123.2.6 --- pgsql/src/pl/plperl/plperl.c 2009/09/28 17:30:24 1.123.2.7 *************** *** 1,7 **** /********************************************************************** * plperl.c - perl as a procedural language for PostgreSQL * ! * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.123.2.5 2009/06/04 16:00:33 adunstan Exp $ * **********************************************************************/ --- 1,7 ---- /********************************************************************** * 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 $ * **********************************************************************/ *************** plperl_return_next(SV *sv) *** 1960,1966 **** if (SvOK(sv)) { ! char *val = SvPV(sv, PL_na); ret = InputFunctionCall(&prodesc->result_in_func, val, prodesc->result_typioparam, -1); --- 1960,1974 ---- if (SvOK(sv)) { ! 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);