Thanks. Going back to my original loop with the limit changed to running->xcnt makes sense.
On 2026-Sep-21 at 15:35 UTC, Alvaro Herrera wrote: > I think we should just go up to running->xcnt > only; Yes, scanning the subxids was unnecessary. My previous explanation addressed overflow, but waiting for the parent covers the children in the non-overflow case too. A note on the top-level-first ordering in RunningTransactionsData would make that dependency explicit. > maybe we should add > something in SnapBuildBuildSnapshot() Agreed. The explanation of why historic snapshots need no wait for transactions to finish belongs there. The comment in SnapBuildInitialSnapshot() can then focus on why the conversion to a normal MVCC snapshot needs the wait. Regards, Rui
