mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Improve C comments in GetSnapshotData.
Move discussion of why our algorithm for taking snapshots in recovery to a more appropriate location in the function, and delete incorrect mention of taking a lock.
This commit is contained in:
parent
82ef3d3008
commit
4b373e42d1
@ -1307,14 +1307,6 @@ GetSnapshotData(Snapshot snapshot)
|
||||
/* initialize xmin calculation with xmax */
|
||||
globalxmin = xmin = xmax;
|
||||
|
||||
/*
|
||||
* If we're in recovery then snapshot data comes from a different place,
|
||||
* so decide which route we take before grab the lock. It is possible for
|
||||
* recovery to end before we finish taking snapshot, and for newly
|
||||
* assigned transaction ids to be added to the procarray. Xmax cannot
|
||||
* change while we hold ProcArrayLock, so those newly added transaction
|
||||
* ids would be filtered away, so we need not be concerned about them.
|
||||
*/
|
||||
snapshot->takenDuringRecovery = RecoveryInProgress();
|
||||
|
||||
if (!snapshot->takenDuringRecovery)
|
||||
@ -1429,6 +1421,12 @@ GetSnapshotData(Snapshot snapshot)
|
||||
* Either way we need to change the way XidInMVCCSnapshot() works
|
||||
* depending upon when the snapshot was taken, or change normal
|
||||
* snapshot processing so it matches.
|
||||
*
|
||||
* Note: It is possible for recovery to end before we finish taking the
|
||||
* snapshot, and for newly assigned transaction ids to be added to the
|
||||
* ProcArray. xmax cannot change while we hold ProcArrayLock, so those
|
||||
* newly added transaction ids would be filtered away, so we need not
|
||||
* be concerned about them.
|
||||
*/
|
||||
subcount = KnownAssignedXidsGetAndSetXmin(snapshot->subxip, &xmin,
|
||||
xmax);
|
||||
|
Loading…
Reference in New Issue
Block a user