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