On Sat, Jul 25, 2009 at 3:21 AM, Peter Eisentraut<peter_e@gmx.net> wrote:
> On Tuesday 30 June 2009 06:59:51 Robert Haas wrote:
>> The attached patch merges all of the logic currently in genbki.sh and
>> Gen_fmgrtab.{sh,pl} into a single script called gen_catalog.pl. It
>> then extends that logic to generate all of the Anum_* and Natts_*
>> constants, as well as the Schema_pg_* declarations for the bootstrap
>> tables.
>
> I see a potential problem with the introduction of the catalog/anum.h header,
> to hold the Anum_... defines. This looks like it could be a significant break
> in the backend API, as evidenced by the fact that plperl and dblink no longer
> compile with this change.
>
> I think a less invasive change would be to include anum.h into all the
> catalog/pg_*.h headers, so that the external interface stays the same.
Gah. I wish a toplevel make would build "contrib".
Anyway, yeah, we could do that. The downsides to that approach are:
1. Changing a catalog definition in a way that actually affects the
contents of anum.h will force more things to be recompiled (note that
there are guards against useless rebuilds of anum.h), and
2. If we do that, we'll probably be stuck with it forever, and it
seems like a bit of a hack.
...Robert