autogenerating headers & bki stuff

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: autogenerating headers & bki stuff
Date: 2009-06-30 03:59:51
Message-ID: 603c8f070906292059g46767866t50b1097fa10bff39@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

As some of you have probably gathered from a couple of recent patches
that I've posted, I've been taking a look at the scripts we use to
generate various derived files based on the catalog headers, and I
think there's room for improvement. First, as discussed on previous
threads, it seems needlessly complex to have both perl and
shell-script implementations of genbki and Gen_fmgrtab. Second,
there's a fair amount of duplicated data that could be auto-generated,
but currently isn't.

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 don't see a clean, easy way to generate Schema_pg_index,
since there are no DATA() lines for that table in pg_attribute.h; but
the others are all straightforward.) It also adds a fair amount of
error checking to what we currently have in place.

In order to avoid create a build-time dependency on Perl for
non-Windows platforms, this patch makes all of the things generated by
gen_catalog.pl into distprep targets. This should be OK, since none
of them depend on architecture or configuration.

I have not made any attempt to fix the MSVC build to work with this,
but there should be some stuff that can be simplified there as well
(in particular, the Perl reimplementation of genbki).

Love it? Hate it? Comments appreciated.

Thanks,

...Robert

Attachment Content-Type Size
gen_catalog-v1.patch text/x-diff 123.2 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2009-06-30 04:17:17 Re: pre-proposal: permissions made easier
Previous Message Josh Berkus 2009-06-30 03:39:15 Re: pre-proposal: permissions made easier