|
1 | 1 | /**********************************************************************
|
2 | 2 | * plperl.c - perl as a procedural language for PostgreSQL
|
3 | 3 | *
|
4 |
| - * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.151 2009/09/16 06:06:12petere Exp $ |
| 4 | + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.152 2009/09/28 17:31:12adunstan Exp $ |
5 | 5 | *
|
6 | 6 | **********************************************************************/
|
7 | 7 |
|
@@ -2021,7 +2021,15 @@ plperl_return_next(SV *sv)
|
2021 | 2021 |
|
2022 | 2022 | if (SvOK(sv))
|
2023 | 2023 | {
|
2024 |
| -char*val=SvPV(sv,PL_na); |
| 2024 | +char*val; |
| 2025 | + |
| 2026 | +if (prodesc->fn_retisarray&&SvROK(sv)&& |
| 2027 | +SvTYPE(SvRV(sv))==SVt_PVAV) |
| 2028 | +{ |
| 2029 | +sv=plperl_convert_to_pg_array(sv); |
| 2030 | +} |
| 2031 | + |
| 2032 | +val=SvPV(sv,PL_na); |
2025 | 2033 |
|
2026 | 2034 | ret=InputFunctionCall(&prodesc->result_in_func,val,
|
2027 | 2035 | prodesc->result_typioparam,-1);
|
|