Un-break genbki.pl's error reporting capabilities.

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

Commit: 995e0fbc1c57c9b705c57de456d25c6e448bc5dd
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-03-20T22:02:50Z
Releases: 17.0
Un-break genbki.pl's error reporting capabilities.

This essentially reverts commit 69eb643b2, which added a fast path
in Catalog::ParseData, but neglected to preserve the behavior of
adding a line_number field in each hash.  That makes it impossible
for genbki.pl to provide any localization of error reports, which is
bad enough; but actually the affected error reports failed entirely,
producing useless bleats like "use of undefined value in sprintf".

69eb643b2 claimed to get a 15% speedup, but I'm not sure I believe
that: the time to rebuild the bki files changes by less than 1% for
me.  In any case, making debugging of mistakes in .dat files more
difficult would not be justified by even an order of magnitude
speedup here; it's just not that big a chunk of the total build time.

Per report from David Wheeler.  Although it's also broken in v16,
I don't think this is worth a back-patch, since we're very unlikely
to touch the v16 catalog data again.

Discussion: https://postgr.es/m/19238.1710953049@sss.pgh.pa.us

Files

PathChange+/−
src/backend/catalog/Catalog.pm modified +7 −21

Discussion