]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Move new LOCKTAG_DATABASE_FROZEN_IDS to end of enum LockTagType.
authorNoah Misch <noah@leadboat.com>
Sat, 15 Aug 2020 23:15:59 +0000 (16:15 -0700)
committerNoah Misch <noah@leadboat.com>
Sat, 15 Aug 2020 23:16:42 +0000 (16:16 -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 430e8c8703d3316cb2f95026d341d50ddad82ab5..95155d689ebfa80807571dc549723fa98288ac71 100644 (file)
@@ -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) */
index 9019ae8dcd6e45a1135e7b6c5895f482466d305d..60aaf78d9c2b33ed3ba2b9ca04c62d957944c48c 100644 (file)
@@ -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