SSI patch renumbered existing 2PC resource managers?? - Mailing list pgsql-hackers

From Tom Lane
Subject SSI patch renumbered existing 2PC resource managers??
Date
Msg-id 5362.1307989883@sss.pgh.pa.us
Whole thread Raw
Responses Re: SSI patch renumbered existing 2PC resource managers??
Re: SSI patch renumbered existing 2PC resource managers??
List pgsql-hackers
So I finally started actually reading the SSI changes, and I am a tad
distressed by this:

diff --git a/src/include/access/twophase_rmgr.h b/src/include/access/twophase_rmgr.h
index a541d0f..1c7d8bb 100644
--- a/src/include/access/twophase_rmgr.h
+++ b/src/include/access/twophase_rmgr.h
@@ -23,8 +23,9 @@ typedef uint8 TwoPhaseRmgrId; */#define TWOPHASE_RM_END_ID            0#define TWOPHASE_RM_LOCK_ID
       1
 
-#define TWOPHASE_RM_PGSTAT_ID        2
-#define TWOPHASE_RM_MULTIXACT_ID    3
+#define TWOPHASE_RM_PREDICATELOCK_ID    2
+#define TWOPHASE_RM_PGSTAT_ID        3
+#define TWOPHASE_RM_MULTIXACT_ID    4#define TWOPHASE_RM_MAX_ID            TWOPHASE_RM_MULTIXACT_IDextern const
TwoPhaseCallbacktwophase_recover_callbacks[];
 

What was the rationale for changing the assignments of existing 2PC IDs?
So far as I can tell, that breaks pg_upgrade (if there are any open
prepared transactions) for no redeeming social benefit.  Is there a
reason why TWOPHASE_RM_PREDICATELOCK_ID has to be 2 and not at the end?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Reminder: 1.5 days to 9.2 CF1
Next
From: Kohei KaiGai
Date:
Subject: Re: [v9.2] SECURITY LABEL on shared database object