Fix Gen_fmgrtab.sh to not rely on hard-wired knowledge of the column numbers
Tom Lane <tgl@sss.pgh.pa.us>
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
| Path | Change | +/− |
|---|---|---|
| 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 |