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:
@ -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();
|
||||
}
|
||||
|
Reference in New Issue
Block a user