mirror of
https://github.com/postgres/postgres.git
synced 2025-04-29 13:56:47 +03:00
Fix use of wrong index in ComputeXidHorizons().
This bug, recently introduced in 941697c3c1a, at least lead to vacuum failing because it found tuples inserted by a running transaction, but below the freeze limit. The freeze limit in turn is directly affected by the aforementioned bug. Thanks to Tom Lane figuring how to make the bug reproducible. We should add a few more assertions to make sure this type of bug isn't as hard to notice, but it's not yet clear how to best do so. Co-Diagnosed-By: Tom Lane <tgl@sss.pgh.pa.us> Author: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/1013484.1597609043@sss.pgh.pa.us
This commit is contained in:
parent
49967da65a
commit
f6661d3df2
@ -1663,7 +1663,7 @@ ComputeXidHorizons(ComputeXidHorizonsResult *h)
|
||||
TransactionId xmin;
|
||||
|
||||
/* Fetch xid just once - see GetNewTransactionId */
|
||||
xid = UINT32_ACCESS_ONCE(other_xids[pgprocno]);
|
||||
xid = UINT32_ACCESS_ONCE(other_xids[index]);
|
||||
xmin = UINT32_ACCESS_ONCE(proc->xmin);
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user