2005-06-18 00:32:51 +02:00
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* twophase_rmgr.c
|
|
|
|
* Two-phase-commit resource managers tables
|
|
|
|
*
|
2007-01-05 23:20:05 +01:00
|
|
|
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
|
2005-06-18 00:32:51 +02:00
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* IDENTIFICATION
|
2007-01-05 23:20:05 +01:00
|
|
|
* $PostgreSQL: pgsql/src/backend/access/transam/twophase_rmgr.c,v 1.4 2007/01/05 22:19:23 momjian Exp $
|
2005-06-18 00:32:51 +02:00
|
|
|
*
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
#include "postgres.h"
|
|
|
|
|
|
|
|
#include "access/twophase_rmgr.h"
|
|
|
|
#include "commands/async.h"
|
|
|
|
#include "storage/lock.h"
|
|
|
|
#include "utils/flatfiles.h"
|
|
|
|
#include "utils/inval.h"
|
|
|
|
|
|
|
|
|
2005-10-15 04:49:52 +02:00
|
|
|
const TwoPhaseCallback twophase_recover_callbacks[TWOPHASE_RM_MAX_ID + 1] =
|
2005-06-18 00:32:51 +02:00
|
|
|
{
|
2005-10-15 04:49:52 +02:00
|
|
|
NULL, /* END ID */
|
|
|
|
lock_twophase_recover, /* Lock */
|
|
|
|
NULL, /* Inval */
|
|
|
|
NULL, /* flat file update */
|
|
|
|
NULL /* notify/listen */
|
2005-06-18 00:32:51 +02:00
|
|
|
};
|
|
|
|
|
2005-10-15 04:49:52 +02:00
|
|
|
const TwoPhaseCallback twophase_postcommit_callbacks[TWOPHASE_RM_MAX_ID + 1] =
|
2005-06-18 00:32:51 +02:00
|
|
|
{
|
2005-10-15 04:49:52 +02:00
|
|
|
NULL, /* END ID */
|
|
|
|
lock_twophase_postcommit, /* Lock */
|
|
|
|
inval_twophase_postcommit, /* Inval */
|
|
|
|
flatfile_twophase_postcommit, /* flat file update */
|
|
|
|
notify_twophase_postcommit /* notify/listen */
|
2005-06-18 00:32:51 +02:00
|
|
|
};
|
|
|
|
|
2005-10-15 04:49:52 +02:00
|
|
|
const TwoPhaseCallback twophase_postabort_callbacks[TWOPHASE_RM_MAX_ID + 1] =
|
2005-06-18 00:32:51 +02:00
|
|
|
{
|
2005-10-15 04:49:52 +02:00
|
|
|
NULL, /* END ID */
|
|
|
|
lock_twophase_postabort, /* Lock */
|
|
|
|
NULL, /* Inval */
|
|
|
|
NULL, /* flat file update */
|
|
|
|
NULL /* notify/listen */
|
2005-06-18 00:32:51 +02:00
|
|
|
};
|