summaryrefslogtreecommitdiffstats
path: root/src/backend/access/transam/twophase_rmgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/transam/twophase_rmgr.c')
-rw-r--r--src/backend/access/transam/twophase_rmgr.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/backend/access/transam/twophase_rmgr.c b/src/backend/access/transam/twophase_rmgr.c
new file mode 100644
index 0000000..35a9b32
--- /dev/null
+++ b/src/backend/access/transam/twophase_rmgr.c
@@ -0,0 +1,58 @@
+/*-------------------------------------------------------------------------
+ *
+ * twophase_rmgr.c
+ * Two-phase-commit resource managers tables
+ *
+ * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * src/backend/access/transam/twophase_rmgr.c
+ *
+ *-------------------------------------------------------------------------
+ */
+#include "postgres.h"
+
+#include "access/multixact.h"
+#include "access/twophase_rmgr.h"
+#include "pgstat.h"
+#include "storage/lock.h"
+#include "storage/predicate.h"
+
+
+const TwoPhaseCallback twophase_recover_callbacks[TWOPHASE_RM_MAX_ID + 1] =
+{
+ NULL, /* END ID */
+ lock_twophase_recover, /* Lock */
+ NULL, /* pgstat */
+ multixact_twophase_recover, /* MultiXact */
+ predicatelock_twophase_recover /* PredicateLock */
+};
+
+const TwoPhaseCallback twophase_postcommit_callbacks[TWOPHASE_RM_MAX_ID + 1] =
+{
+ NULL, /* END ID */
+ lock_twophase_postcommit, /* Lock */
+ pgstat_twophase_postcommit, /* pgstat */
+ multixact_twophase_postcommit, /* MultiXact */
+ NULL /* PredicateLock */
+};
+
+const TwoPhaseCallback twophase_postabort_callbacks[TWOPHASE_RM_MAX_ID + 1] =
+{
+ NULL, /* END ID */
+ lock_twophase_postabort, /* Lock */
+ pgstat_twophase_postabort, /* pgstat */
+ multixact_twophase_postabort, /* MultiXact */
+ NULL /* PredicateLock */
+};
+
+const TwoPhaseCallback twophase_standby_recover_callbacks[TWOPHASE_RM_MAX_ID + 1] =
+{
+ NULL, /* END ID */
+ lock_twophase_standby_recover, /* Lock */
+ NULL, /* pgstat */
+ NULL, /* MultiXact */
+ NULL /* PredicateLock */
+};