diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-05-25 20:00:12 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-05-25 20:00:12 +0000 |
commit | 4d567013cf127d10acb5da01c4a484bb635eebe8 (patch) | |
tree | 0eaa46e8d4f9abddebeb0313cb4582fa2e68a725 /src/backend/access/transam/transam.c | |
parent | 29737d83d943820c4362ea1a3b20cde96540b786 (diff) | |
download | postgresql-4d567013cf127d10acb5da01c4a484bb635eebe8.tar.gz postgresql-4d567013cf127d10acb5da01c4a484bb635eebe8.zip |
Remove AMI_OVERRIDE tests from tqual.c routines; they aren't necessary
and just slow down normal operations (only fractionally, but a cycle saved
is a cycle earned). Improve documentation of AMI_OVERRIDE behavior.
Diffstat (limited to 'src/backend/access/transam/transam.c')
-rw-r--r-- | src/backend/access/transam/transam.c | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/backend/access/transam/transam.c b/src/backend/access/transam/transam.c index 5c26227748c..34a13d3ae67 100644 --- a/src/backend/access/transam/transam.c +++ b/src/backend/access/transam/transam.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.50 2001/11/05 17:46:24 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.51 2002/05/25 20:00:11 tgl Exp $ * * NOTES * This file contains the high level access-method interface to the @@ -23,6 +23,18 @@ #include "access/transam.h" +/* ---------------- + * Flag indicating that we are bootstrapping. + * + * Transaction ID generation is disabled during bootstrap; we just use + * BootstrapTransactionId. Also, the transaction ID status-check routines + * are short-circuited; they claim that BootstrapTransactionId has already + * committed, allowing tuples already inserted to be seen immediately. + * ---------------- + */ +bool AMI_OVERRIDE = false; + + static bool TransactionLogTest(TransactionId transactionId, XidStatus status); static void TransactionLogUpdate(TransactionId transactionId, XidStatus status); @@ -160,7 +172,10 @@ bool /* true if given transaction committed */ TransactionIdDidCommit(TransactionId transactionId) { if (AMI_OVERRIDE) + { + Assert(transactionId == BootstrapTransactionId); return true; + } return TransactionLogTest(transactionId, TRANSACTION_STATUS_COMMITTED); } @@ -176,7 +191,10 @@ bool /* true if given transaction aborted */ TransactionIdDidAbort(TransactionId transactionId) { if (AMI_OVERRIDE) + { + Assert(transactionId == BootstrapTransactionId); return false; + } return TransactionLogTest(transactionId, TRANSACTION_STATUS_ABORTED); } @@ -193,7 +211,10 @@ bool TransactionIdIsInProgress(TransactionId transactionId) { if (AMI_OVERRIDE) + { + Assert(transactionId == BootstrapTransactionId); return false; + } return TransactionLogTest(transactionId, TRANSACTION_STATUS_IN_PROGRESS); } @@ -215,9 +236,6 @@ TransactionIdIsInProgress(TransactionId transactionId) void TransactionIdCommit(TransactionId transactionId) { - if (AMI_OVERRIDE) - return; - TransactionLogUpdate(transactionId, TRANSACTION_STATUS_COMMITTED); } @@ -231,9 +249,6 @@ TransactionIdCommit(TransactionId transactionId) void TransactionIdAbort(TransactionId transactionId) { - if (AMI_OVERRIDE) - return; - TransactionLogUpdate(transactionId, TRANSACTION_STATUS_ABORTED); } |