Fix Gen_fmgrtab.sh to not rely on hard-wired knowledge of the column numbers

Tom Lane <tgl@sss.pgh.pa.us>

Commit: eeee06919f3f8368fa48c6ceb7ece85a5562bc19
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2008-06-23T17:54:30Z
Releases: 8.4.0
Fix Gen_fmgrtab.sh to not rely on hard-wired knowledge of the column numbers
in pg_proc.  Also make it not emit duplicate extern declarations, and make it
a bit more bulletproof in some other small ways.  Likewise fix the equally
hard-wired, and utterly undocumented, knowledge in the MSVC build scripts.
For testing purposes and perhaps other uses in future, pull out that portion
of the MSVC scripts into a standalone perl script equivalent to
Gen_fmgrtab.sh, and make it generate actually identical output, rather than
just more-or-less-the-same output.

Motivated by looking at Pavel's variadic function patch.  Whether or not
that gets accepted, we can be sure that pg_proc's column set will change
again in the future; it's time to not have to deal with this gotcha.

Files

PathChange+/−
src/backend/utils/Gen_fmgrtab.pl added +194 −0
src/backend/utils/Gen_fmgrtab.sh modified +38 −29
src/tools/msvc/Solution.pm modified +5 −54