Re: [PATCHES] plperl support for older perl versions

2004-07-04 Thread Christopher Kings-Lynne
Hmmm, It doesn't apply cleanly for me...
Chris
Andrew Dunstan wrote:
Would people with older versions of perl (  5.6 I think ) please try the
attached patch against what is now on cvs for plperl, and let me know if it
compiles, links and runs? (Thanks to Abhijit Menon-Sen for pointing me in
the right direction)
Thanks
andrew


---(end of broadcast)---
TIP 6: Have you searched our list archives?
   http://archives.postgresql.org
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [PATCHES] [HACKERS] Compile failure in plperl

2004-07-04 Thread Andrew Dunstan
The problem is your old version of perl.
Please see if the attached patch fixes it (The one I sent in previously 
didn't apply cleanly - this one should).

thanks
andrew
Bruce Momjian wrote:
I am getting a CVS HEAD compile failure in plperl:

gmake[4]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl/modules'
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl'
gmake[3]: Entering directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o plperl.o plperl.c
plperl.c: In function `plperl_get_keys':
plperl.c:417: warning: passing arg 3 of `Perl_av_store' makes pointer from 
integer without a cast
plperl.c: In function `plperl_get_elem':
plperl.c:452: warning: passing arg 2 of `Perl_hv_exists_ent' makes pointer 
from integer without a cast
plperl.c: In function `plperl_func_handler':
plperl.c:930: warning: passing arg 3 of `Perl_av_store' makes pointer from 
integer without a cast
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o spi_internal.o 
spi_internal.c
/usr/bin/perl /usr/libdata/perl5/5.00503/ExtUtils/xsubpp -typemap 
/usr/libdata/perl5/5.00503/ExtUtils/typemap SPI.xs SPI.c
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o SPI.o SPI.c
SPI.xs: In function `XS__spi_exec_query':
SPI.xs:51: `aTHX_' undeclared (first use in this function)
SPI.xs:51: (Each undeclared identifier is reported only once
SPI.xs:51: for each function it appears in.)
SPI.xs:51: syntax error before string constant
gmake[3]: *** [SPI.o] Error 1
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src'
gmake: *** [all] Error 2
This is Perl version:
This is perl, version 5.005_03 built for i386-bsdos
 

Index: src/pl/plperl/SPI.xs
===
RCS file: /projects/cvsroot/pgsql-server/src/pl/plperl/SPI.xs,v
retrieving revision 1.6
diff -c -r1.6 SPI.xs
*** src/pl/plperl/SPI.xs	1 Jul 2004 20:50:22 -	1.6
--- src/pl/plperl/SPI.xs	4 Jul 2004 13:12:12 -
***
*** 5,10 
--- 5,11 
  #include EXTERN.h
  #include perl.h
  #include XSUB.h
+ #include ppport.h
  
  #include spi_internal.h
  
Index: src/pl/plperl/ppport.h
===
RCS file: /projects/cvsroot/pgsql-server/src/pl/plperl/ppport.h,v
retrieving revision 1.5
diff -c -r1.5 ppport.h
*** src/pl/plperl/ppport.h	18 Oct 2002 20:33:57 -	1.5
--- src/pl/plperl/ppport.h	4 Jul 2004 13:12:12 -
***
*** 1,57 
  
! #ifndef _P_P_PORTABILITY_H_
! #define _P_P_PORTABILITY_H_
! 
! /* Perl/Pollution/Portability Version 1.0007 */
! 
! /* Copyright (C) 1999, Kenneth Albanowski. This code may be used and
!distributed under the same license as any version of Perl. */
! 
! /* For the latest version of this code, please retreive the Devel::PPPort
!module from CPAN, contact the author at [EMAIL PROTECTED], or check
!with the Perl maintainers. */
! 
! /* If you needed to customize this file for your project, please mention
!your changes, and visible alter the version number. */
! 
  
  /*
!In order for a Perl extension module to be as portable as possible
!across differing versions of Perl itself, certain steps need to be taken.
!Including this header is the first major one, then using dTHR is all the
!appropriate places and using a PL_ prefix to refer to global Perl
!variables is the second.
! */
  
  
  /* If you use one of a few functions that were not present in earlier
!versions of Perl, please add a define before the inclusion of ppport.h
!for a static include, or use the GLOBAL request in a single module to
!produce a global definition that can be referenced from the other
!modules.
! 
!Function:			Static define:			 Extern define:
!newCONSTSUB()		NEED_newCONSTSUB		 NEED_newCONSTSUB_GLOBAL
! 
! */
! 
  
  /* To verify whether ppport.h is needed for your module, and whether any
!special defines should be used, ppport.h can be run through Perl to check
!your source code. 

[PATCHES] plperl spi_exec_query patch

2004-07-04 Thread Andrew Dunstan
The following patch applies a change I inadvertantly left out of the 
previous patch, and makes spi_exec_query work correctly in the case of a 
select query.
Test shows:
CREATE TABLE test (
   i int,
   v varchar
);
CREATE TABLE

INSERT INTO test (i, v) VALUES (1,'first line');
INSERT 25616 1
INSERT INTO test (i, v) VALUES (2,'second line');
INSERT 25617 1
INSERT INTO test (i, v) VALUES (3,'third line');
INSERT 25618 1
INSERT INTO test (i, v) VALUES (4,'immortal');
INSERT 25619 1
create function test_munge() returns setof test language plperl as $$
 my $res = [];
 my $rv = spi_exec_query(select i,v from plperltest.test;);
 my $status = $rv-{status};
 my $rows = @{$rv-{rows}};
 my $processed = $rv-{processed};
 foreach my $rn (0..$rows-1)
 {
   my $row = $rv-{rows}[$rn];
   $row-{i} += 200 if defined($row-{i});
   $row-{v} =~ tr/A-Za-z/a-zA-Z/ if (defined($row-{v}));
   push @$res,$row;
 }
 return $res;
$$;
CREATE FUNCTION
select * from test_munge();
 i  |  v 
-+-
201 | FIRST LINE
202 | SECOND LINE
203 | THIRD LINE
204 | IMMORTAL
(4 rows)

cheers
andrew
Index: spi_internal.c
===
RCS file: /projects/cvsroot/pgsql-server/src/pl/plperl/spi_internal.c,v
retrieving revision 1.1
diff -c -r1.1 spi_internal.c
*** spi_internal.c	1 Jul 2004 20:50:22 -	1.1
--- spi_internal.c	4 Jul 2004 17:48:41 -
***
*** 82,123 
  		* Get the attributes value
  		/
  		attdata = SPI_getvalue(tuple, tupdesc, i+1);
! 		hv_store(array, attname, strlen(attname), newSVpv(attdata,0), 0);
  	}
  	return array;
  }
  
  static HV*
! plperl_spi_execute_fetch_result(SPITupleTable *tuptable, int rows, int status)
  {
  
  	HV *result;
  	int i;
  
  	result = newHV();
  
  	if (status == SPI_OK_UTILITY)
  	{
  		hv_store(result, status, strlen(status), newSVpv(SPI_OK_UTILITY,0), 0);
! 		hv_store(result, rows, strlen(rows), newSViv(rows), 0);
  	}
  	else if (status != SPI_OK_SELECT)
  	{
  		hv_store(result, status, strlen(status), newSVpv((char*)plperl_spi_status_string(status),0), 0);
! 		hv_store(result, rows, strlen(rows), newSViv(rows), 0);
  	}
  	else
  	{
! 		if (rows)
  		{
- 			char* key=palloc(sizeof(int));
  			HV *row;
! 			for (i = 0; i  rows; i++)
  			{
  row = plperl_hash_from_tuple(tuptable-vals[i], tuptable-tupdesc);
! sprintf(key, %i, i);
! hv_store(result, key, strlen(key), newRV_noinc((SV*)row), 0);
  			}
  			SPI_freetuptable(tuptable);
  		}
  	}
--- 82,129 
  		* Get the attributes value
  		/
  		attdata = SPI_getvalue(tuple, tupdesc, i+1);
! 		if(attdata)
! 			hv_store(array, attname, strlen(attname), newSVpv(attdata,0), 0);
! 		else
! 			hv_store(array, attname, strlen(attname), newSVpv(undef,0), 0);
  	}
  	return array;
  }
  
  static HV*
! plperl_spi_execute_fetch_result(SPITupleTable *tuptable, int processed, int status)
  {
  
  	HV *result;
+ 	 AV *rows;
  	int i;
  
  	result = newHV();
+ 	rows = newAV();
  
  	if (status == SPI_OK_UTILITY)
  	{
  		hv_store(result, status, strlen(status), newSVpv(SPI_OK_UTILITY,0), 0);
! 		hv_store(result, processed, strlen(processed), newSViv(processed), 0);
  	}
  	else if (status != SPI_OK_SELECT)
  	{
  		hv_store(result, status, strlen(status), newSVpv((char*)plperl_spi_status_string(status),0), 0);
! 		hv_store(result, processed, strlen(processed), newSViv(processed), 0);
  	}
  	else
  	{
! 		hv_store(result, status, strlen(status), newSVpv((char*)plperl_spi_status_string(status),0), 0);
! 		hv_store(result, processed, strlen(processed), newSViv(processed), 0);
! 		if (processed)
  		{
  			HV *row;
! 			for (i = 0; i  processed; i++)
  			{
  row = plperl_hash_from_tuple(tuptable-vals[i], tuptable-tupdesc);
!  av_store(rows, i, newRV_noinc((SV*)row));
  			}
+ 			hv_store(result, rows, strlen(rows), newRV_noinc((SV*)rows), 0);
  			SPI_freetuptable(tuptable);
  		}
  	}

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])


Re: [PATCHES] [HACKERS] Compile failure in plperl

2004-07-04 Thread Bruce Momjian
Andrew Dunstan wrote:
 
 The problem is your old version of perl.
 
 Please see if the attached patch fixes it (The one I sent in previously 
 didn't apply cleanly - this one should).

With your patch I now get this failure:

gmake[4]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl/modules'
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl'
gmake[3]: Entering directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o plperl.o plperl.c
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o spi_internal.o 
spi_internal.c
/usr/bin/perl /usr/libdata/perl5/5.00503/ExtUtils/xsubpp -typemap 
/usr/libdata/perl5/5.00503/ExtUtils/typemap SPI.xs SPI.c
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o SPI.o SPI.c
ar cr libplperl.a `lorder plperl.o spi_internal.o SPI.o | tsort`
ranlib libplperl.a
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -shared 
-Wl,-x,-soname,libplperl.so.0 plperl.o spi_internal.o SPI.o -L../../../src/port 
-L/usr/local/lib -L/usr/contrib/lib -L/usr/X11/lib -L/usr/local/lib 
/usr/libdata/perl5/5.00503/i386-bsdos/auto/DynaLoader/DynaLoader.a 
-L/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lperl -ldl -lm -lc  
-Wl,-rpath,/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lc 
-Wl,-rpath,/usr/local/pgsql/lib -o libplperl.so.0.0
spi_internal.o: In function `Perl_grok_numeric_radix':
spi_internal.o(.text+0x128): multiple definition of `Perl_grok_numeric_radix'
plperl.o(.text+0x128): first defined here
spi_internal.o: In function `Perl_grok_number':
spi_internal.o(.text+0x1e8): multiple definition of `Perl_grok_number'
plperl.o(.text+0x1e8): first defined here
SPI.o: In function `Perl_grok_numeric_radix':
SPI.o(.text+0x128): multiple definition of `Perl_grok_numeric_radix'
plperl.o(.text+0x128): first defined here
SPI.o: In function `Perl_grok_number':
SPI.o(.text+0x1e8): multiple definition of `Perl_grok_number'
plperl.o(.text+0x1e8): first defined here
gmake[3]: *** [libplperl.so.0.0] Error 1
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src'
gmake: *** [all] Error 2

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [PATCHES] [HACKERS] Compile failure in plperl

2004-07-04 Thread Bruce Momjian
Andrew Dunstan wrote:
 
 That is *intensely* annoying. What on earth are these function bodies 
 doing in a .h file anyway? (Remember, I just used the standard utility 
 to generate the file).
 
 Anyway, here is a version with all that stuff cut out - I don't believe 
 we need any of it. Does this improve things?

Nope.  I get this failure:

gmake[4]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl/modules'
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl'
gmake[3]: Entering directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o plperl.o plperl.c
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o spi_internal.o 
spi_internal.c
/usr/bin/perl /usr/libdata/perl5/5.00503/ExtUtils/xsubpp -typemap 
/usr/libdata/perl5/5.00503/ExtUtils/typemap SPI.xs SPI.c
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o SPI.o SPI.c
SPI.xs: In function `XS__spi_exec_query':
SPI.xs:51: `aTHX_' undeclared (first use in this function)
SPI.xs:51: (Each undeclared identifier is reported only once
SPI.xs:51: for each function it appears in.)
SPI.xs:51: syntax error before string constant
gmake[3]: *** [SPI.o] Error 1
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src'
gmake: *** [all] Error 2

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [PATCHES] [HACKERS] Compile failure in plperl

2004-07-04 Thread Andrew Dunstan
Ok. It's impossible for me to fix this by remote control - I need access 
to some box with one of these old versions of perl so I can come up with 
a clean solution.

Or did you revert the change that put #include ppport.h in SPI.xs?
cheers
andrew
Bruce Momjian wrote:
Andrew Dunstan wrote:
 

That is *intensely* annoying. What on earth are these function bodies 
doing in a .h file anyway? (Remember, I just used the standard utility 
to generate the file).

Anyway, here is a version with all that stuff cut out - I don't believe 
we need any of it. Does this improve things?
   

Nope.  I get this failure:

gmake[4]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl/modules'
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl'
gmake[3]: Entering directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o plperl.o plperl.c
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o spi_internal.o 
spi_internal.c
/usr/bin/perl /usr/libdata/perl5/5.00503/ExtUtils/xsubpp -typemap 
/usr/libdata/perl5/5.00503/ExtUtils/typemap SPI.xs SPI.c
gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
-I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
-I/usr/local/include/readline -I/usr/contrib/include  -c -o SPI.o SPI.c
SPI.xs: In function `XS__spi_exec_query':
SPI.xs:51: `aTHX_' undeclared (first use in this function)
SPI.xs:51: (Each undeclared identifier is reported only once
SPI.xs:51: for each function it appears in.)
SPI.xs:51: syntax error before string constant
gmake[3]: *** [SPI.o] Error 1
gmake[3]: Leaving directory 
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src'
gmake: *** [all] Error 2
 

---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
 joining column's datatypes do not match


Re: [PATCHES] [HACKERS] Compile failure in plperl

2004-07-04 Thread Bruce Momjian

Andrew has developed the following patch which allows Perl 5.05 to
compile plperl.  I have applied the patch because it is causing compile
failures for testers.

---

Andrew Dunstan wrote:
 
 Ok. It's impossible for me to fix this by remote control - I need access 
 to some box with one of these old versions of perl so I can come up with 
 a clean solution.
 
 Or did you revert the change that put #include ppport.h in SPI.xs?
 
 cheers
 
 andrew
 
 
 Bruce Momjian wrote:
 
 Andrew Dunstan wrote:
   
 
 That is *intensely* annoying. What on earth are these function bodies 
 doing in a .h file anyway? (Remember, I just used the standard utility 
 to generate the file).
 
 Anyway, here is a version with all that stuff cut out - I don't believe 
 we need any of it. Does this improve things?
 
 
 
 Nope.  I get this failure:
  
  gmake[4]: Leaving directory 
  `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl/modules'
  gmake[3]: Leaving directory 
  `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/tcl'
  gmake[3]: Entering directory 
  `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
  gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
  -I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
  -I/usr/local/include/readline -I/usr/contrib/include  -c -o plperl.o plperl.c
  gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
  -I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
  -I/usr/local/include/readline -I/usr/contrib/include  -c -o spi_internal.o 
  spi_internal.c
  /usr/bin/perl /usr/libdata/perl5/5.00503/ExtUtils/xsubpp -typemap 
  /usr/libdata/perl5/5.00503/ExtUtils/typemap SPI.xs SPI.c
  gcc -O2 -fno-strict-aliasing -O1 -Wpointer-arith -Wcast-align -fpic -I. 
  -I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I../../../src/include 
  -I/usr/local/include/readline -I/usr/contrib/include  -c -o SPI.o SPI.c
  SPI.xs: In function `XS__spi_exec_query':
  SPI.xs:51: `aTHX_' undeclared (first use in this function)
  SPI.xs:51: (Each undeclared identifier is reported only once
  SPI.xs:51: for each function it appears in.)
  SPI.xs:51: syntax error before string constant
  gmake[3]: *** [SPI.o] Error 1
  gmake[3]: Leaving directory 
  `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
  gmake[2]: *** [all] Error 2
  gmake[2]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl'
  gmake[1]: *** [all] Error 2
  gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src'
  gmake: *** [all] Error 2
 
   
 
 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster
 
 
 !DSPAM:40e8839e277026631821392!
 
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073
Index: src/pl/plperl/SPI.xs
===
RCS file: /cvsroot/pgsql-server/src/pl/plperl/SPI.xs,v
retrieving revision 1.6
diff -c -c -r1.6 SPI.xs
*** src/pl/plperl/SPI.xs1 Jul 2004 20:50:22 -   1.6
--- src/pl/plperl/SPI.xs5 Jul 2004 01:15:07 -
***
*** 5,10 
--- 5,11 
  #include EXTERN.h
  #include perl.h
  #include XSUB.h
+ #include ppport.h
  
  #include spi_internal.h
  
Index: src/pl/plperl/ppport.h
===
RCS file: /cvsroot/pgsql-server/src/pl/plperl/ppport.h,v
retrieving revision 1.5
diff -c -c -r1.5 ppport.h
*** src/pl/plperl/ppport.h  18 Oct 2002 20:33:57 -  1.5
--- src/pl/plperl/ppport.h  5 Jul 2004 01:15:07 -
***
*** 1,57 
  
! #ifndef _P_P_PORTABILITY_H_
! #define _P_P_PORTABILITY_H_
! 
! /* Perl/Pollution/Portability Version 1.0007 */
! 
! /* Copyright (C) 1999, Kenneth Albanowski. This code may be used and
!distributed under the same license as any version of Perl. */
! 
! /* For the latest version of this code, please retreive the Devel::PPPort
!module from CPAN, contact the author at [EMAIL PROTECTED], or check
!with the Perl maintainers. */
! 
! /* If you needed to customize this file for your project, please mention
!your changes, and visible alter the version number. */
! 
  
  /*
!In order for a Perl extension module to be as portable as possible
!across differing versions of Perl itself, certain steps need to be taken.
!Including this header is the first major one, then using dTHR is all the
!appropriate places and using a PL_ prefix to refer to global Perl
!variables is the second.
! */
  
  
  /* If you use one of a few functions that were not present in earlier
!