]> granicus.if.org Git - postgresql/blob - src/backend/access/transam/twophase_rmgr.c
0ea8e42ca567c9bb1469104c0f421de3b4cf586c
[postgresql] / src / backend / access / transam / twophase_rmgr.c
1 /*-------------------------------------------------------------------------
2  *
3  * twophase_rmgr.c
4  *        Two-phase-commit resource managers tables
5  *
6  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  *
10  * IDENTIFICATION
11  *        $PostgreSQL: pgsql/src/backend/access/transam/twophase_rmgr.c,v 1.12 2010/01/02 16:57:35 momjian Exp $
12  *
13  *-------------------------------------------------------------------------
14  */
15 #include "postgres.h"
16
17 #include "access/multixact.h"
18 #include "access/twophase_rmgr.h"
19 #include "commands/async.h"
20 #include "pgstat.h"
21 #include "storage/lock.h"
22
23
24 const TwoPhaseCallback twophase_recover_callbacks[TWOPHASE_RM_MAX_ID + 1] =
25 {
26         NULL,                                           /* END ID */
27         lock_twophase_recover,          /* Lock */
28         NULL,                                           /* notify/listen */
29         NULL,                                           /* pgstat */
30         multixact_twophase_recover      /* MultiXact */
31 };
32
33 const TwoPhaseCallback twophase_postcommit_callbacks[TWOPHASE_RM_MAX_ID + 1] =
34 {
35         NULL,                                           /* END ID */
36         lock_twophase_postcommit,       /* Lock */
37         notify_twophase_postcommit, /* notify/listen */
38         pgstat_twophase_postcommit,     /* pgstat */
39         multixact_twophase_postcommit /* MultiXact */
40 };
41
42 const TwoPhaseCallback twophase_postabort_callbacks[TWOPHASE_RM_MAX_ID + 1] =
43 {
44         NULL,                                           /* END ID */
45         lock_twophase_postabort,        /* Lock */
46         NULL,                                           /* notify/listen */
47         pgstat_twophase_postabort,      /* pgstat */
48         multixact_twophase_postabort /* MultiXact */
49 };
50
51 const TwoPhaseCallback twophase_standby_recover_callbacks[TWOPHASE_RM_MAX_ID + 1] =
52 {
53         NULL,                                           /* END ID */
54         lock_twophase_standby_recover,          /* Lock */
55         NULL,                                           /* notify/listen */
56         NULL,                                           /* pgstat */
57         NULL                                            /* MultiXact */
58 };