Move new LOCKTAG_DATABASE_FROZEN_IDS to end of enum LockTagType.
authorNoah Misch <[email protected]>
Sat, 15 Aug 2020 23:15:59 +0000 (16:15 -0700)
committerNoah Misch <[email protected]>
Sat, 15 Aug 2020 23:15:59 +0000 (16:15 -0700)
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

src/backend/utils/adt/lockfuncs.c
src/include/storage/lock.h

index bb1add7dcfb9a8a3ffc4bd101a0d419afa5dd917..c669b12afae4dbdf202afb00ac41fcc65a822ec2 100644 (file)
@@ -26,7 +26,6 @@
 const char *const LockTagTypeNames[] = {
    "relation",
    "extend",
-   "frozenid",
    "page",
    "tuple",
    "transactionid",
@@ -34,7 +33,8 @@ const char *const LockTagTypeNames[] = {
    "speculative token",
    "object",
    "userlock",
-   "advisory"
+   "advisory",
+   "frozenid"
 };
 
 /* This must match enum PredicateLockTargetType (predicate_internals.h) */
index 5dc7f873680ec73bf557bb476d5f9db6a23609b0..2d5cf6ede2b5c7d78eb143e8274954876f0b3f20 100644 (file)
@@ -139,7 +139,6 @@ typedef enum LockTagType
 {
    LOCKTAG_RELATION,           /* whole relation */
    LOCKTAG_RELATION_EXTEND,    /* the right to extend a relation */
-   LOCKTAG_DATABASE_FROZEN_IDS,    /* pg_database.datfrozenxid */
    LOCKTAG_PAGE,               /* one page of a relation */
    LOCKTAG_TUPLE,              /* one physical tuple */
    LOCKTAG_TRANSACTION,        /* transaction (for waiting for xact done) */
@@ -147,10 +146,11 @@ typedef enum LockTagType
    LOCKTAG_SPECULATIVE_TOKEN,  /* speculative insertion Xid and token */
    LOCKTAG_OBJECT,             /* non-relation database object */
    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 */
 } LockTagType;
 
-#define LOCKTAG_LAST_TYPE  LOCKTAG_ADVISORY
+#define LOCKTAG_LAST_TYPE  LOCKTAG_DATABASE_FROZEN_IDS
 
 extern const char *const LockTagTypeNames[];