1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-25 01:02:05 +03:00

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.
This commit is contained in:
Tom Lane
2004-08-28 22:04:12 +00:00
parent c8702dcb8e
commit f78ecbf20e

View File

@ -10,7 +10,7 @@
* *
* *
* IDENTIFICATION * 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. * 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 * The ordering here isn't critical but it seems best to mark the
* parent last. That reduces the chance that concurrent * parent first. This assures an atomic transition of all the
* TransactionIdDidAbort calls will decide they need to do redundant * subtransactions to aborted state from the point of view of
* work. * concurrent TransactionIdDidAbort calls.
*/ */
TransactionIdAbortTree(nchildren, children);
TransactionIdAbort(xid); TransactionIdAbort(xid);
TransactionIdAbortTree(nchildren, children);
END_CRIT_SECTION(); END_CRIT_SECTION();
} }
@ -1062,8 +1062,8 @@ RecordSubTransactionAbort(void)
* Mark the transaction aborted in clog. This is not absolutely * Mark the transaction aborted in clog. This is not absolutely
* necessary but we may as well do it while we are here. * necessary but we may as well do it while we are here.
*/ */
TransactionIdAbortTree(nchildren, children);
TransactionIdAbort(xid); TransactionIdAbort(xid);
TransactionIdAbortTree(nchildren, children);
END_CRIT_SECTION(); END_CRIT_SECTION();
} }