|
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); |
|