From: Noah Misch Date: Sat, 15 Aug 2020 23:15:59 +0000 (-0700) Subject: Move new LOCKTAG_DATABASE_FROZEN_IDS to end of enum LockTagType. X-Git-Tag: REL9_5_24~84 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d8a22a387b484e73e5a938874dc3a737452c4f1a;p=thirdparty%2Fpostgresql.git Move new LOCKTAG_DATABASE_FROZEN_IDS to end of enum LockTagType. Several PGXN modules reference LockTagType values; renumbering would force a recompile of those modules. Oversight in back-patch of today's commit 566372b3d6435639e4cc4476d79b8505a0297c87. Back-patch to released branches, v12 through 9.5. Reported by Tom Lane. Discussion: https://postgr.es/m/921383.1597523945@sss.pgh.pa.us --- diff --git a/src/backend/utils/adt/lockfuncs.c b/src/backend/utils/adt/lockfuncs.c index 430e8c8703d..95155d689eb 100644 --- a/src/backend/utils/adt/lockfuncs.c +++ b/src/backend/utils/adt/lockfuncs.c @@ -25,7 +25,6 @@ static const char *const LockTagTypeNames[] = { "relation", "extend", - "frozenid", "page", "tuple", "transactionid", @@ -33,7 +32,8 @@ static const char *const LockTagTypeNames[] = { "speculative token", "object", "userlock", - "advisory" + "advisory", + "frozenid" }; /* This must match enum PredicateLockTargetType (predicate_internals.h) */ diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h index 9019ae8dcd6..60aaf78d9c2 100644 --- a/src/include/storage/lock.h +++ b/src/include/storage/lock.h @@ -168,8 +168,6 @@ typedef enum LockTagType /* ID info for a relation is DB OID + REL OID; DB OID = 0 if shared */ LOCKTAG_RELATION_EXTEND, /* the right to extend a relation */ /* same ID info as RELATION */ - LOCKTAG_DATABASE_FROZEN_IDS, /* pg_database.datfrozenxid */ - /* ID info for frozen IDs is DB OID */ LOCKTAG_PAGE, /* one page of a relation */ /* ID info for a page is RELATION info + BlockNumber */ LOCKTAG_TUPLE, /* one physical tuple */ @@ -189,10 +187,12 @@ typedef enum LockTagType * Also, we use DB OID = 0 for shared objects such as tablespaces. */ LOCKTAG_USERLOCK, /* reserved for old contrib/userlock code */ - LOCKTAG_ADVISORY /* advisory user locks */ + LOCKTAG_ADVISORY, /* advisory user locks */ + LOCKTAG_DATABASE_FROZEN_IDS /* pg_database.datfrozenxid */ + /* ID info for frozen IDs is DB OID */ } LockTagType; -#define LOCKTAG_LAST_TYPE LOCKTAG_ADVISORY +#define LOCKTAG_LAST_TYPE LOCKTAG_DATABASE_FROZEN_IDS /* * The LOCKTAG struct is defined with malice aforethought to fit into 16