Re: Datum should be defined outside postgres.h - Mailing list pgsql-hackers

From Zdenek Kotala
Subject Re: Datum should be defined outside postgres.h
Date
Msg-id 4720B3A8.4010406@sun.com
Whole thread Raw
In response to Re: Datum should be defined outside postgres.h  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Datum should be defined outside postgres.h
Re: Datum should be defined outside postgres.h
List pgsql-hackers
Tom Lane wrote:
> Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
>> I fixed it for zic, but problem with ecpg is that it includes 
>> nodes/primnodes.h and it requires Datum type definition which is defined 
>> in postgres.h. :(
> 
> Why in the world is ecpg including either primnodes.h or postgres.h?

The problem is that ecpg shares parser.c source code and this code 
includes postgres.h.

>> By my opinion Datum should be defined in separate file and all headers 
>> which use this type should include it. (this is problem on many places 
>> with another types). Another question is why ecpg needs it?
> 
> Datum is a type that no frontend code has any business dealing in;
> and the same goes for everything in primnodes.h.
> 
> I'd suggest trying to fix ecpg to not depend on backend-only include
> files...

Yes, agree. I'm now testing my fix. I removed postgres.h from parser.c + 
performed some other changes around.

    Zdenek


pgsql-hackers by date:

Previous
From: Dan
Date:
Subject: Opportunity for a Radical Changes in Database Software
Next
From: "Jonah H. Harris"
Date:
Subject: Re: Opportunity for a Radical Changes in Database Software