There's a small window wherein a transaction is committed but not yet
on the finished list, and we shouldn't flag it as a potential conflict if so. We can also skip adding a doomed transaction to the list of possible conflicts because we know it won't commit. Dan Ports and Kevin Grittner.
This commit is contained in:
parent
406d61835b
commit
bdaabb9b22
@ -1677,8 +1677,9 @@ RegisterSerializableTransactionInt(Snapshot snapshot)
|
|||||||
othersxact != NULL;
|
othersxact != NULL;
|
||||||
othersxact = NextPredXact(othersxact))
|
othersxact = NextPredXact(othersxact))
|
||||||
{
|
{
|
||||||
if (!SxactIsOnFinishedList(othersxact) &&
|
if (!SxactIsCommitted(othersxact)
|
||||||
!SxactIsReadOnly(othersxact))
|
&& !SxactIsDoomed(othersxact)
|
||||||
|
&& !SxactIsReadOnly(othersxact))
|
||||||
{
|
{
|
||||||
SetPossibleUnsafeConflict(sxact, othersxact);
|
SetPossibleUnsafeConflict(sxact, othersxact);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user