autogenerating headers & bki stuff
От | Robert Haas |
---|---|
Тема | autogenerating headers & bki stuff |
Дата | |
Msg-id | 603c8f070906292059g46767866t50b1097fa10bff39@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: autogenerating headers & bki stuff
Re: autogenerating headers & bki stuff Re: autogenerating headers & bki stuff |
Список | 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
Вложения
В списке pgsql-hackers по дате отправления: