aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-08-28 22:04:12 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-08-28 22:04:12 +0000
commitf78ecbf20ec473545f383179b789bce5a10d1757 (patch)
treef0e2555c0433e453f9333757abf68c026a9dbd13 /src
parentc8702dcb8ecd2c5f07722f1fe08bcc1a45cd5bb2 (diff)
downloadpostgresql-f78ecbf20ec473545f383179b789bce5a10d1757.tar.gz
postgresql-f78ecbf20ec473545f383179b789bce5a10d1757.zip
Now that TransactionIdDidAbort doesn't think it should try to modify
pg_clog, there's no reason to do abort marking of subtransactions in a nonintuitive order.
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/transam/xact.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 56ae070acb7..39f6c68a6b2 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.180 2004/08/28 20:31:43 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.181 2004/08/28 22:04:12 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -920,12 +920,12 @@ RecordTransactionAbort(void)
* necessary but we may as well do it while we are here.
*
* The ordering here isn't critical but it seems best to mark the
- * parent last. That reduces the chance that concurrent
- * TransactionIdDidAbort calls will decide they need to do redundant
- * work.
+ * parent first. This assures an atomic transition of all the
+ * subtransactions to aborted state from the point of view of
+ * concurrent TransactionIdDidAbort calls.
*/
- TransactionIdAbortTree(nchildren, children);
TransactionIdAbort(xid);
+ TransactionIdAbortTree(nchildren, children);
END_CRIT_SECTION();
}
@@ -1062,8 +1062,8 @@ RecordSubTransactionAbort(void)
* Mark the transaction aborted in clog. This is not absolutely
* necessary but we may as well do it while we are here.
*/
- TransactionIdAbortTree(nchildren, children);
TransactionIdAbort(xid);
+ TransactionIdAbortTree(nchildren, children);
END_CRIT_SECTION();
}