On Sun, Feb 22, 2015 at 6:57 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> After some more hacking, the only remaining uses of foo[1] in struct
> declarations are:
>
> 1. A couple of places where the array is actually the only struct member;
> for some unexplainable reason gcc won't let you use flexible array syntax
> in that case.
Yes. Thanks for adding notes at those places.
> 2. struct sqlda_struct in ecpg's sqlda-native.h. We have a problem with
> using [FLEXIBLE_ARRAY_MEMBER] there because (1) pg_config.h isn't (and I
> think shouldn't be) #included by this file, and (2) there is very possibly
> application code depending on sizeof() this struct; the risk of breaking
> such code seems to outweigh any likely benefit. Also, despite that
> I tried changing [1] to [] and fixing the places I could find that
> depended on sizeof(struct sqlda_struct), but I apparently can't find them
> all because the ecpg regression tests fell over :-(.
Yeah, I think we can live with that. The rest of the backend code is
clean now, and the allocation calculations are more understandable.
> Anyway, barring excitement in the buildfarm I think this project is
> complete.
Thanks!
--
Michael