1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-04 20:11:56 +03:00

Add ABI extra field to fmgr magic block

This allows derived products to intentionally make their fmgr ABI
incompatible, with a clean error message.

Discussion: https://www.postgresql.org/message-id/flat/55215fda-db31-a045-d6b7-d6f2d2dc9920%40enterprisedb.com
This commit is contained in:
Peter Eisentraut
2021-11-22 07:40:17 +01:00
parent 1b06d7bac9
commit d6d1dfcc99
3 changed files with 38 additions and 1 deletions

View File

@@ -42,6 +42,23 @@
*/
#define FUNC_MAX_ARGS 100
/*
* When creating a product derived from PostgreSQL with changes that cause
* incompatibilities for loadable modules, it is recommended to change this
* string so that dfmgr.c can refuse to load incompatible modules with a clean
* error message. Typical examples that cause incompatibilities are any
* changes to node tags or node structures. (Note that dfmgr.c already
* detects common sources of incompatibilities due to major version
* differences and due to some changed compile-time constants. This setting
* is for catching anything that cannot be detected in a straightforward way.)
*
* There is no prescribed format for the string. The suggestion is to include
* product or company name, and optionally any internally-relevant ABI
* version. Example: "ACME Postgres/1.2". Note that the string will appear
* in a user-facing error message if an ABI mismatch is detected.
*/
#define FMGR_ABI_EXTRA "PostgreSQL"
/*
* Maximum number of columns in an index. There is little point in making
* this anything but a multiple of 32, because the main cost is associated