mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-03 08:00:21 +08:00
Convert a perl array to a postgres array when returned by Set Returning Functions as well as non SRFs. Backpatch to 8.1 where these facilities were introduced. with a little help from Abhijit Menon-Sen.
This commit is contained in:
parent
8b720b5723
commit
eff805b588
@ -1,7 +1,7 @@
|
||||
/**********************************************************************
|
||||
* plperl.c - perl as a procedural language for PostgreSQL
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.136.2.2 2009/06/05 20:32:15 adunstan Exp $
|
||||
* $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.136.2.3 2009/09/28 17:30:41 adunstan Exp $
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
@ -1972,7 +1972,15 @@ plperl_return_next(SV *sv)
|
||||
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user