Extend the BKI infrastructure to allow system catalogs to be given
Tom Lane <tgl@sss.pgh.pa.us>
Extend the BKI infrastructure to allow system catalogs to be given hand-assigned rowtype OIDs, even when they are not "bootstrapped" catalogs that have handmade type rows in pg_type.h. Give pg_database such an OID. Restore the availability of C macros for the rowtype OIDs of the bootstrapped catalogs. (These macros are now in the individual catalogs' .h files, though, not in pg_type.h.) This commit doesn't do anything especially useful by itself, but it's necessary infrastructure for reverting some ill-considered changes in relcache.c.
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/bki.sgml | modified | +10 −4 |
| src/backend/bootstrap/bootparse.y | modified | +25 −19 |
| src/backend/bootstrap/bootscanner.l | modified | +2 −1 |
| src/backend/catalog/genbki.sh | modified | +10 −5 |
| src/backend/catalog/heap.c | modified | +9 −3 |
| src/backend/catalog/toasting.c | modified | +2 −1 |
| src/backend/commands/cluster.c | modified | +2 −1 |
| src/backend/commands/tablecmds.c | modified | +2 −1 |
| src/backend/executor/execMain.c | modified | +2 −1 |
| src/include/catalog/catversion.h | modified | +2 −2 |
| src/include/catalog/duplicate_oids | modified | +3 −2 |
| src/include/catalog/genbki.h | modified | +2 −1 |
| src/include/catalog/heap.h | modified | +2 −1 |
| src/include/catalog/pg_attribute.h | modified | +3 −2 |
| src/include/catalog/pg_class.h | modified | +3 −2 |
| src/include/catalog/pg_database.h | modified | +3 −2 |
| src/include/catalog/pg_proc.h | modified | +3 −2 |
| src/include/catalog/pg_type.h | modified | +5 −3 |
| src/include/catalog/unused_oids | modified | +3 −2 |
| src/tools/msvc/Genbki.pm | modified | +11 −6 |