--- pl/plperl/spi_internal.h.1~ 2005-05-22 20:24:02.031350457 +0530 +++ pl/plperl/spi_internal.h 2005-05-22 20:24:19.390318359 +0530 @@ -17,3 +17,4 @@ /* this is actually in plperl.c */ HV *plperl_spi_exec(char *, int); +void plperl_return_next(SV *); --- pl/plperl/SPI.xs.1~ 2005-05-22 20:19:43.937431824 +0530 +++ pl/plperl/SPI.xs 2005-05-22 20:24:40.120697376 +0530 @@ -97,6 +97,11 @@ OUTPUT: RETVAL +void +spi_spi_return_next(rv) + SV *rv; + CODE: + plperl_return_next(rv); BOOT: items = 0; /* avoid 'unused variable' warning */ --- pl/plperl/plperl.c.7~ 2005-05-22 20:18:18.750311492 +0530 +++ pl/plperl/plperl.c 2005-05-22 20:31:21.387607925 +0530 @@ -126,7 +126,7 @@ static void plperl_init_shared_libs(pTHX); static HV *plperl_spi_execute_fetch_result(SPITupleTable *, int, int); -static void plperl_return_next(SV *); +void plperl_return_next(SV *); /* * This routine is a crock, and so is everyplace that calls it. The problem @@ -222,8 +222,8 @@ "use vars qw($PLContainer); $PLContainer = new Safe('PLPerl');" "$PLContainer->permit_only(':default');" "$PLContainer->permit(qw[:base_math !:base_io sort time]);" - "$PLContainer->share(qw[&elog &spi_exec_query &DEBUG &LOG " - "&INFO &NOTICE &WARNING &ERROR %_SHARED ]);" + "$PLContainer->share(qw[&elog &spi_exec_query &spi_return_next " + "&DEBUG &LOG &INFO &NOTICE &WARNING &ERROR %_SHARED ]);" ; static char * strict_safe_ok = @@ -1393,7 +1393,8 @@ } -static void plperl_return_next(SV *sv) +void +plperl_return_next(SV *sv) { plperl_proc_desc *prodesc = plperl_current_prodesc; FunctionCallInfo fcinfo = prodesc->caller_info;