aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Misch <noah@leadboat.com>2020-08-15 16:15:59 -0700
committerNoah Misch <noah@leadboat.com>2020-08-15 16:16:15 -0700
commit6af0b12a581a8ef962bcb9d76c63ff9fa8bf9fd9 (patch)
tree81292c202f92c9a58f4936bd59d209c519c00034
parentd4031d78460cbbb4ed2fb7be635f84bea0e9a0c1 (diff)
downloadpostgresql-6af0b12a581a8ef962bcb9d76c63ff9fa8bf9fd9.tar.gz
postgresql-6af0b12a581a8ef962bcb9d76c63ff9fa8bf9fd9.zip
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
-rw-r--r--src/backend/utils/adt/lockfuncs.c4
-rw-r--r--src/include/storage/lock.h8
2 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/utils/adt/lockfuncs.c b/src/backend/utils/adt/lockfuncs.c
index 01c66a2538b..16b53825497 100644
--- a/src/backend/utils/adt/lockfuncs.c
+++ b/src/backend/utils/adt/lockfuncs.c
@@ -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) */
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
index 6b56fa58743..c03028188c2 100644
--- a/src/include/storage/lock.h
+++ b/src/include/storage/lock.h
@@ -141,8 +141,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 */
@@ -162,10 +160,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
extern const char *const LockTagTypeNames[];