Remove remaining hard-wired OID references in the initial catalog data

Enterprise / PostgreSQL - Tom Lane [sss.pgh.pa.us] - 12 March 2019 16:30 EDT

In the v11-era commits that taught genbki.pl to resolve symbolic OID references in the initial catalog data, we didn't bother to make every last reference symbolic; some of the catalogs have so few initial rows that it didn't seem worthwhile.

However, the new project policy that OIDs assigned by new patches should be automatically renumberable changes this calculus. A patch that wants to add a row in one of these catalogs would have a problem when the OID it assigns gets renumbered. Hence, do the mop-up work needed to make all OID references in initial data be symbolic, and establish an associated project policy that we'll never again write a hard-wired OID reference there.

No catversion bump since the contents of postgres.bki aren't actually changed by this commit.

Discussion: https://postgr.es/m/CAH2-WzmMTGMcPuph4OvsO7Ykut0AOCF_i-=eaochT0dd2BN9CQ@mail.gmail.com

3aa0395d4e Remove remaining hard-wired OID references in the initial catalog data.
doc/src/sgml/bki.sgml | 73 ++++++++++-------
src/backend/catalog/genbki.pl | 80 ++++++++++++++----
src/include/catalog/pg_class.dat | 68 ++++++++--------
src/include/catalog/pg_class.h | 135 ++++++++++++++++++++++---------
src/include/catalog/pg_database.dat | 9 +--
src/include/catalog/pg_database.h | 54 +++++++++----
src/include/catalog/pg_proc.dat | 7 +-
src/include/catalog/pg_ts_config.dat | 3 +-
src/include/catalog/pg_ts_config.h | 19 +++--
src/include/catalog/pg_ts_config_map.dat | 57 ++++++++-----
src/include/catalog/pg_ts_config_map.h | 15 +++-
src/include/catalog/pg_ts_dict.dat | 3 +-
src/include/catalog/pg_ts_dict.h | 22 +++--
src/include/catalog/pg_type.dat | 22 ++---
src/include/catalog/pg_type.h | 4 +-
15 files changed, 381 insertions(+), 190 deletions(-)

Upstream: git.postgresql.org


  • Share