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