From: Andrew Dunstan Date: Sun, 8 Jan 2006 22:27:52 +0000 (+0000) Subject: Rationalise perl header inclusions via a common include file, which also X-Git-Tag: REL8_2_BETA1~1621 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9bb76d0b3f3e0049e2f5903544a5178f5886f4e0;p=postgresql Rationalise perl header inclusions via a common include file, which also declares routines in plperl.c and spi_internal.c used in other files. Along the way, also stop perl from hijacking stdio and other stuff on Windows. --- diff --git a/src/pl/plperl/SPI.xs b/src/pl/plperl/SPI.xs index 8d14f093b7..9d3dc39c75 100644 --- a/src/pl/plperl/SPI.xs +++ b/src/pl/plperl/SPI.xs @@ -4,12 +4,7 @@ #undef _ /* perl stuff */ -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" -#include "ppport.h" - -#include "spi_internal.h" +#include "plperl.h" /* diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index d0a7988837..4375eb0674 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -33,7 +33,7 @@ * ENHANCEMENTS, OR MODIFICATIONS. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.98 2005/12/29 14:28:31 adunstan Exp $ + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.99 2006/01/08 22:27:52 adunstan Exp $ * **********************************************************************/ @@ -60,18 +60,7 @@ extern DLLIMPORT bool check_function_bodies; /* perl stuff */ -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" -#include "ppport.h" -#include "spi_internal.h" - -/* just in case these symbols aren't provided */ -#ifndef pTHX_ -#define pTHX_ -#define pTHX void -#endif - +#include "plperl.h" /********************************************************************** * The information we cache about loaded procedures diff --git a/src/pl/plperl/plperl.h b/src/pl/plperl/plperl.h new file mode 100644 index 0000000000..c88186588c --- /dev/null +++ b/src/pl/plperl/plperl.h @@ -0,0 +1,49 @@ +/*------------------------------------------------------------------------- + * + * plperl.h + * Common include file for PL/Perl files + * + * This should be included _AFTER_ postgres.h and system include files + * + * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group + * Portions Copyright (c) 1995, Regents of the University of California + * + * $PostgreSQL: pgsql/src/pl/plperl/plperl.h,v 1.1 2006/01/08 22:27:52 adunstan Exp $ + */ + +#ifndef PL_PERL_H +#define PL_PERL_H + +/* stop perl headers from hijacking stdio and other stuff on Windows */ +#ifdef WIN32 +#define WIN32IO_IS_STDIO +#endif + +/* required for perl API */ +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" +#include "ppport.h" + +/* just in case these symbols aren't provided */ +#ifndef pTHX_ +#define pTHX_ +#define pTHX void +#endif + +/* routines from spi_internal.c */ +int spi_DEBUG(void); +int spi_LOG(void); +int spi_INFO(void); +int spi_NOTICE(void); +int spi_WARNING(void); +int spi_ERROR(void); + +/* routines from plperl.c */ +HV *plperl_spi_exec(char *, int); +void plperl_return_next(SV *); +SV *plperl_spi_query(char *); +SV *plperl_spi_fetchrow(char *); + + +#endif /* PL_PERL_H */ diff --git a/src/pl/plperl/spi_internal.c b/src/pl/plperl/spi_internal.c index c022d7d9e5..7ca771da83 100644 --- a/src/pl/plperl/spi_internal.c +++ b/src/pl/plperl/spi_internal.c @@ -8,8 +8,8 @@ /* Defined by Perl */ #undef _ -#include "spi_internal.h" - +/* perl stuff */ +#include "plperl.h" int spi_DEBUG(void) diff --git a/src/pl/plperl/spi_internal.h b/src/pl/plperl/spi_internal.h deleted file mode 100644 index 4d2c407ee1..0000000000 --- a/src/pl/plperl/spi_internal.h +++ /dev/null @@ -1,22 +0,0 @@ -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" -#include "ppport.h" - -int spi_DEBUG(void); - -int spi_LOG(void); - -int spi_INFO(void); - -int spi_NOTICE(void); - -int spi_WARNING(void); - -int spi_ERROR(void); - -/* this is actually in plperl.c */ -HV *plperl_spi_exec(char *, int); -void plperl_return_next(SV *); -SV *plperl_spi_query(char *); -SV *plperl_spi_fetchrow(char *);