diff options
Diffstat (limited to 'src/backend/access/transam/twophase.c')
| -rw-r--r-- | src/backend/access/transam/twophase.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index b738a4cef46..4685ccdf10b 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.51 2009/01/01 17:23:36 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.52 2009/04/23 00:23:45 tgl Exp $ * * NOTES * Each global transaction is associated with a global transaction @@ -68,7 +68,7 @@ #define TWOPHASE_DIR "pg_twophase" /* GUC variable, can't be changed after startup */ -int max_prepared_xacts = 5; +int max_prepared_xacts = 0; /* * This struct describes one global transaction that is in prepared state @@ -228,6 +228,13 @@ MarkAsPreparing(TransactionId xid, const char *gid, errmsg("transaction identifier \"%s\" is too long", gid))); + /* fail immediately if feature is disabled */ + if (max_prepared_xacts == 0) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("prepared transactions are disabled"), + errhint("Set max_prepared_transactions to a nonzero value."))); + LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); /* |
