Re: unused_oids script is broken with bsd sed

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, John Naylor <jcnaylor@gmail.com>, Stas Kelvich <s.kelvich@postgrespro.ru>, Andreas Karlsson <andreas@proxel.se>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, David Fetter <david@fetter.org>
Date: 2018-05-03T19:56:42Z
Lists: pgsql-hackers
Tom Lane wrote:

> However, RenameTempFile is also used by Gen_fmgrtab.pl, and having the
> same sort of no-touch semantics for fmgroids.h and friends would have some
> additional fallout.  The makefiles would think they have to keep
> re-running Gen_fmgrtab.pl if fmgroids.h is older than the mod time on any
> input file, and that's certainly no good.  We can fix that by inventing a
> stamp file for the Gen_fmgrtab.pl run, analogous to bki-stamp for the
> genbki.pl run, but that means changes in the makefiles that go a bit
> beyond the realm of triviality.

Sounds OK to me -- a stamp file is already established technique, so it
shouldn't go *too much* beyond triviality.  I do note that
msvc/Solution.pm runs Gen_fmgrtab.pl, but it shouldn't require any
changes anyhow.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Blindly try to fix MSVC build's use of genbki.pl and Gen_fmgrtab.pl.

  2. Avoid overwriting unchanged output files in genbki.pl and Gen_fmgrtab.pl.

  3. Rearrange makefile rules for running Gen_fmgrtab.pl.

  4. Avoid parsing catalog data twice during BKI file construction.

  5. Fix duplicate_oids and unused_oids so user needn't cd to catalog dir.

  6. Convert unused_oids and duplicate_oids to use Catalog.pm infrastructure.

  7. Make Catalog.pm's representation of toast and index decls more abstract.