python cleanup - Mailing list pgsql-hackers

From Andrew Dunstan
Subject python cleanup
Date
Msg-id 4E2CAED7.5000804@dunslane.net
Whole thread Raw
In response to Re: windows consolidated cleanup  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: python cleanup
List pgsql-hackers

On 04/24/2011 07:31 PM, Peter Eisentraut wrote:
> On sön, 2011-04-24 at 12:25 -0400, Tom Lane wrote:
>> This file is in fundamental violation of the first commandment of
>> Postgres #includes, which is "thou shalt have no other gods before c.h".
>> We need to put postgres.h *before* the Python.h include.  I don't know
>> what issues led to the current arrangement but it is fraught with
>> portability gotchas.  In particular it's just about guaranteed to fail
>> on platforms where<stdio.h>  reacts to _FILE_OFFSET_BITS --- plpython.c
>> is going to get compiled expecting a different stdio library than the
>> rest of the backend.
> Here is where this happened:
>
> commit ab6ee1f9fc7039b1e8d8ebf939da3fd55e73efad
> Author: Joe Conway<mail@joeconway.com>
> Date:   Thu Aug 5 03:10:29 2004 +0000
>
>      Move include for Python.h above postgres.h to eliminate compiler warning.
>
> diff --git a/src/pl/plpython/plpython.c b/src/pl/plpython/plpython.c
> index 76ea031..07eed86 100644
> --- a/src/pl/plpython/plpython.c
> +++ b/src/pl/plpython/plpython.c
> @@ -29,11 +29,12 @@
>    * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
>    *
>    * IDENTIFICATION
> - * $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.52 2004/08/04 21:34:29 tgl Exp $
> + * $PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.53 2004/08/05 03:10:29 joe Exp $
>    *
>    *********************************************************************
>    */
>
> +#include<Python.h>
>   #include "postgres.h"
>
>   /* system stuff */
> @@ -54,7 +55,6 @@
>   #include "utils/syscache.h"
>   #include "utils/typcache.h"
>
> -#include<Python.h>
>   #include<compile.h>
>   #include<eval.h>
>
>
> If you switch it back around, you indeed get a bunch of annoying
> warnings.  This will need some playing around it get right.
>
>

On my Linux system the attached compiles without warnings. If this seems
like the way to go I'll investigate more on Windows.

cheers

andrew

Attachment

pgsql-hackers by date:

Previous
From: Joey Adams
Date:
Subject: Re: Initial Review: JSON contrib modul was: Re: Another swing at JSON
Next
From: Peter Geoghegan
Date:
Subject: Re: libpq SSL with non-blocking sockets