Generate syscache info from catalog files Add a new genbki macros MAKE_SYSCACHE that specifies the syscache ID macro, the underlying index, and the number of buckets. From that, we can generate the existing tables in syscache.h and syscache.c via genbki.pl.
Reviewed-by: John Naylor <johncnaylo...@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/75ae5875-3abc-dafc-8aec-73247ed41...@eisentraut.org Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/9b1a6f50b91dca6610932650c8c81a3c924259f9 Modified Files -------------- src/backend/catalog/.gitignore | 2 + src/backend/catalog/Catalog.pm | 10 + src/backend/catalog/Makefile | 2 +- src/backend/catalog/genbki.pl | 75 +++ src/backend/utils/cache/syscache.c | 632 +------------------------ src/include/catalog/.gitignore | 2 + src/include/catalog/genbki.h | 6 + src/include/catalog/meson.build | 18 +- src/include/catalog/pg_aggregate.h | 2 + src/include/catalog/pg_am.h | 3 + src/include/catalog/pg_amop.h | 3 + src/include/catalog/pg_amproc.h | 2 + src/include/catalog/pg_attribute.h | 3 + src/include/catalog/pg_auth_members.h | 3 + src/include/catalog/pg_authid.h | 3 + src/include/catalog/pg_cast.h | 2 + src/include/catalog/pg_class.h | 3 + src/include/catalog/pg_collation.h | 3 + src/include/catalog/pg_constraint.h | 2 + src/include/catalog/pg_conversion.h | 4 + src/include/catalog/pg_database.h | 2 + src/include/catalog/pg_default_acl.h | 2 + src/include/catalog/pg_enum.h | 3 + src/include/catalog/pg_event_trigger.h | 3 + src/include/catalog/pg_foreign_data_wrapper.h | 3 + src/include/catalog/pg_foreign_server.h | 3 + src/include/catalog/pg_foreign_table.h | 2 + src/include/catalog/pg_index.h | 2 + src/include/catalog/pg_language.h | 3 + src/include/catalog/pg_namespace.h | 3 + src/include/catalog/pg_opclass.h | 3 + src/include/catalog/pg_operator.h | 2 + src/include/catalog/pg_opfamily.h | 3 + src/include/catalog/pg_parameter_acl.h | 2 + src/include/catalog/pg_partitioned_table.h | 2 + src/include/catalog/pg_proc.h | 3 + src/include/catalog/pg_publication.h | 3 + src/include/catalog/pg_publication_namespace.h | 3 + src/include/catalog/pg_publication_rel.h | 3 + src/include/catalog/pg_range.h | 3 + src/include/catalog/pg_replication_origin.h | 3 + src/include/catalog/pg_rewrite.h | 2 + src/include/catalog/pg_sequence.h | 2 + src/include/catalog/pg_statistic.h | 2 + src/include/catalog/pg_statistic_ext.h | 3 + src/include/catalog/pg_statistic_ext_data.h | 1 + src/include/catalog/pg_subscription.h | 3 + src/include/catalog/pg_subscription_rel.h | 2 + src/include/catalog/pg_tablespace.h | 2 + src/include/catalog/pg_transform.h | 3 + src/include/catalog/pg_ts_config.h | 3 + src/include/catalog/pg_ts_config_map.h | 2 + src/include/catalog/pg_ts_dict.h | 3 + src/include/catalog/pg_ts_parser.h | 3 + src/include/catalog/pg_ts_template.h | 3 + src/include/catalog/pg_type.h | 3 + src/include/catalog/pg_user_mapping.h | 3 + src/include/utils/syscache.h | 98 +--- src/tools/pginclude/cpluspluscheck | 5 + src/tools/pginclude/headerscheck | 5 + 60 files changed, 267 insertions(+), 717 deletions(-)