generate syscache info automatically
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-05-30T21:57:53Z
Lists: pgsql-hackers
Attachments
- 0001-Update-DECLARE_INDEX-documentation.patch (text/plain) patch 0001
- 0002-Restructure-DECLARE_INDEX-arguments.patch (text/plain) patch 0002
- 0003-genbki.pl-Factor-out-boilerplate-generation.patch (text/plain) patch 0003
- 0004-Generate-syscache-info-from-catalog-files.patch (text/plain) patch 0004
- 0005-WIP-Generate-ObjectProperty-from-catalog-files.patch (text/plain) patch 0005
I want to report on my on-the-plane-to-PGCon project. The idea was mentioned in [0]. genbki.pl already knows everything about system catalog indexes. If we add a "please also make a syscache for this one" flag to the catalog metadata, we can have genbki.pl produce the tables in syscache.c and syscache.h automatically. Aside from avoiding the cumbersome editing of those tables, I think this layout is also conceptually cleaner, as you can more easily see which system catalog indexes have syscaches and maybe ask questions about why or why not. As a possible follow-up, I have also started work on generating the ObjectProperty structure in objectaddress.c. One of the things you need for that is making genbki.pl aware of the syscache information. There is some more work to be done there, but it's looking promising. [0]: https://www.postgresql.org/message-id/flat/CA%2BhUKGKdpDjKL2jgC-GpoL4DGZU1YPqnOFHbDqFkfRQcPaR5DQ%40mail.gmail.com
Commits
-
Generate syscache info from catalog files
- 9b1a6f50b91d 17.0 landed
-
Fill in more of ObjectProperty
- 0c60e8ba80e0 17.0 landed
-
Correct ObjectProperty entry for transforms
- d7ceb41b9b84 17.0 landed
-
genbki.pl: Factor out boilerplate generation
- f94dec76cc7a 17.0 landed
-
Restructure DECLARE_INDEX arguments
- 226d0a6b989b 17.0 landed
-
Update DECLARE_INDEX documentation
- 908f711d2398 15.5 landed
- 4cdcff4d93b2 16.0 landed
- 3c09d115948c 17.0 landed
-
Replace hardcoded switch in object_exists() with a lookup table.
- fa351d5a0db0 9.2.0 cited