pgsql: Get rid of the need for manual maintenance of the initial

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Get rid of the need for manual maintenance of the initial
Date: 2010-01-05 01:06:57
Message-ID: 20100105010657.A9AC3753FB7@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Log Message:
-----------
Get rid of the need for manual maintenance of the initial contents of
pg_attribute, by having genbki.pl derive the information from the various
catalog header files. This greatly simplifies modification of the
"bootstrapped" catalogs.

This patch finally kills genbki.sh and Gen_fmgrtab.sh; we now rely entirely on
Perl scripts for those build steps. To avoid creating a Perl build dependency
where there was not one before, the output files generated by these scripts
are now treated as distprep targets, ie, they will be built and shipped in
tarballs. But you will need a reasonably modern Perl (probably at least
5.6) if you want to build from a CVS pull.

The changes to the MSVC build process are untested, and may well break ---
we'll soon find out from the buildfarm.

John Naylor, based on ideas from Robert Haas and others

Modified Files:
--------------
pgsql/doc/src/sgml:
bki.sgml (r1.22 -> r1.23)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/bki.sgml?r1=1.22&r2=1.23)
installation.sgml (r1.335 -> r1.336)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/installation.sgml?r1=1.335&r2=1.336)
pgsql/src/backend:
Makefile (r1.137 -> r1.138)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/Makefile?r1=1.137&r2=1.138)
pgsql/src/backend/catalog:
Makefile (r1.74 -> r1.75)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/Makefile?r1=1.74&r2=1.75)
README (r1.13 -> r1.14)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/README?r1=1.13&r2=1.14)
pgsql/src/backend/utils:
Gen_fmgrtab.pl (r1.3 -> r1.4)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/Gen_fmgrtab.pl?r1=1.3&r2=1.4)
Makefile (r1.28 -> r1.29)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/Makefile?r1=1.28&r2=1.29)
pgsql/src/backend/utils/cache:
relcache.c (r1.295 -> r1.296)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c?r1=1.295&r2=1.296)
pgsql/src/include:
Makefile (r1.29 -> r1.30)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/Makefile?r1=1.29&r2=1.30)
pgsql/src/include/catalog:
genbki.h (r1.5 -> r1.6)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/genbki.h?r1=1.5&r2=1.6)
indexing.h (r1.114 -> r1.115)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/indexing.h?r1=1.114&r2=1.115)
pg_aggregate.h (r1.69 -> r1.70)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_aggregate.h?r1=1.69&r2=1.70)
pg_am.h (r1.64 -> r1.65)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_am.h?r1=1.64&r2=1.65)
pg_amop.h (r1.91 -> r1.92)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_amop.h?r1=1.91&r2=1.92)
pg_amproc.h (r1.76 -> r1.77)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_amproc.h?r1=1.76&r2=1.77)
pg_attrdef.h (r1.25 -> r1.26)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_attrdef.h?r1=1.25&r2=1.26)
pg_attribute.h (r1.156 -> r1.157)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_attribute.h?r1=1.156&r2=1.157)
pg_auth_members.h (r1.7 -> r1.8)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_auth_members.h?r1=1.7&r2=1.8)
pg_authid.h (r1.11 -> r1.12)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_authid.h?r1=1.11&r2=1.12)
pg_cast.h (r1.43 -> r1.44)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_cast.h?r1=1.43&r2=1.44)
pg_class.h (r1.118 -> r1.119)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_class.h?r1=1.118&r2=1.119)
pg_constraint.h (r1.35 -> r1.36)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_constraint.h?r1=1.35&r2=1.36)
pg_conversion.h (r1.23 -> r1.24)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_conversion.h?r1=1.23&r2=1.24)
pg_database.h (r1.52 -> r1.53)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_database.h?r1=1.52&r2=1.53)
pg_db_role_setting.h (r1.2 -> r1.3)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_db_role_setting.h?r1=1.2&r2=1.3)
pg_default_acl.h (r1.2 -> r1.3)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_default_acl.h?r1=1.2&r2=1.3)
pg_depend.h (r1.12 -> r1.13)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_depend.h?r1=1.12&r2=1.13)
pg_description.h (r1.29 -> r1.30)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_description.h?r1=1.29&r2=1.30)
pg_enum.h (r1.7 -> r1.8)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_enum.h?r1=1.7&r2=1.8)
pg_foreign_data_wrapper.h (r1.4 -> r1.5)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_foreign_data_wrapper.h?r1=1.4&r2=1.5)
pg_foreign_server.h (r1.4 -> r1.5)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_foreign_server.h?r1=1.4&r2=1.5)
pg_index.h (r1.49 -> r1.50)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_index.h?r1=1.49&r2=1.50)
pg_inherits.h (r1.29 -> r1.30)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_inherits.h?r1=1.29&r2=1.30)
pg_language.h (r1.36 -> r1.37)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_language.h?r1=1.36&r2=1.37)
pg_largeobject.h (r1.26 -> r1.27)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_largeobject.h?r1=1.26&r2=1.27)
pg_largeobject_metadata.h (r1.2 -> r1.3)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_largeobject_metadata.h?r1=1.2&r2=1.3)
pg_listener.h (r1.27 -> r1.28)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_listener.h?r1=1.27&r2=1.28)
pg_namespace.h (r1.26 -> r1.27)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_namespace.h?r1=1.26&r2=1.27)
pg_opclass.h (r1.86 -> r1.87)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_opclass.h?r1=1.86&r2=1.87)
pg_operator.h (r1.168 -> r1.169)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_operator.h?r1=1.168&r2=1.169)
pg_opfamily.h (r1.12 -> r1.13)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_opfamily.h?r1=1.12&r2=1.13)
pg_pltemplate.h (r1.11 -> r1.12)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_pltemplate.h?r1=1.11&r2=1.12)
pg_proc.h (r1.558 -> r1.559)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h?r1=1.558&r2=1.559)
pg_rewrite.h (r1.34 -> r1.35)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_rewrite.h?r1=1.34&r2=1.35)
pg_shdepend.h (r1.11 -> r1.12)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_shdepend.h?r1=1.11&r2=1.12)
pg_shdescription.h (r1.8 -> r1.9)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_shdescription.h?r1=1.8&r2=1.9)
pg_statistic.h (r1.41 -> r1.42)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_statistic.h?r1=1.41&r2=1.42)
pg_tablespace.h (r1.13 -> r1.14)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_tablespace.h?r1=1.13&r2=1.14)
pg_trigger.h (r1.37 -> r1.38)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_trigger.h?r1=1.37&r2=1.38)
pg_ts_config.h (r1.6 -> r1.7)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_config.h?r1=1.6&r2=1.7)
pg_ts_config_map.h (r1.6 -> r1.7)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_config_map.h?r1=1.6&r2=1.7)
pg_ts_dict.h (r1.6 -> r1.7)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_dict.h?r1=1.6&r2=1.7)
pg_ts_parser.h (r1.6 -> r1.7)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_parser.h?r1=1.6&r2=1.7)
pg_ts_template.h (r1.7 -> r1.8)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_template.h?r1=1.7&r2=1.8)
pg_type.h (r1.211 -> r1.212)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h?r1=1.211&r2=1.212)
pg_user_mapping.h (r1.4 -> r1.5)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_user_mapping.h?r1=1.4&r2=1.5)
toasting.h (r1.11 -> r1.12)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/toasting.h?r1=1.11&r2=1.12)
pgsql/src/interfaces/ecpg/ecpglib:
pg_type.h (r1.10 -> r1.11)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/ecpglib/pg_type.h?r1=1.10&r2=1.11)
pgsql/src/tools/msvc:
Solution.pm (r1.51 -> r1.52)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/tools/msvc/Solution.pm?r1=1.51&r2=1.52)
clean.bat (r1.17 -> r1.18)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/tools/msvc/clean.bat?r1=1.17&r2=1.18)

Added Files:
-----------
pgsql/src/backend/catalog:
.cvsignore (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/.cvsignore?rev=1.1&content-type=text/x-cvsweb-markup)
Catalog.pm (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/Catalog.pm?rev=1.1&content-type=text/x-cvsweb-markup)
genbki.pl (r1.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/genbki.pl?rev=1.1&content-type=text/x-cvsweb-markup)

Removed Files:
-------------
pgsql/src/backend/catalog:
genbki.sh
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/genbki.sh)
pgsql/src/backend/utils:
Gen_fmgrtab.sh
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/Gen_fmgrtab.sh)
pgsql/src/tools/msvc:
Genbki.pm
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/tools/msvc/Genbki.pm)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2010-01-05 01:20:35 pgsql: Fix parallel-make timing problem.
Previous Message User Itagaki 2010-01-05 01:06:11 pgbulkload - pgbulkload: Add sanitization even if the input is in the

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2010-01-05 01:12:09 Re: Red-black tree for GIN
Previous Message John Naylor 2010-01-05 00:30:02 Re: patch - per-tablespace random_page_cost/seq_page_cost