Revert "Remove pointless HeapTupleHeaderIndicatesMovedPartitions calls"

This reverts commit 85adb5e91e.  It was not intended for commit just
yet.
This commit is contained in:
Alvaro Herrera 2020-10-15 15:16:11 -03:00
parent 85adb5e91e
commit 93f84d59f8
2 changed files with 14 additions and 7 deletions

View File

@ -2618,7 +2618,8 @@ l1:
HEAP_XMAX_IS_LOCKED_ONLY(tp.t_data->t_infomask) || HEAP_XMAX_IS_LOCKED_ONLY(tp.t_data->t_infomask) ||
HeapTupleHeaderIsOnlyLocked(tp.t_data)) HeapTupleHeaderIsOnlyLocked(tp.t_data))
result = TM_Ok; result = TM_Ok;
else if (!ItemPointerEquals(&tp.t_self, &tp.t_data->t_ctid)) else if (!ItemPointerEquals(&tp.t_self, &tp.t_data->t_ctid) ||
HeapTupleHeaderIndicatesMovedPartitions(tp.t_data))
result = TM_Updated; result = TM_Updated;
else else
result = TM_Deleted; result = TM_Deleted;
@ -3247,7 +3248,8 @@ l2:
if (can_continue) if (can_continue)
result = TM_Ok; result = TM_Ok;
else if (!ItemPointerEquals(&oldtup.t_self, &oldtup.t_data->t_ctid)) else if (!ItemPointerEquals(&oldtup.t_self, &oldtup.t_data->t_ctid) ||
HeapTupleHeaderIndicatesMovedPartitions(oldtup.t_data))
result = TM_Updated; result = TM_Updated;
else else
result = TM_Deleted; result = TM_Deleted;
@ -4483,7 +4485,8 @@ l3:
HEAP_XMAX_IS_LOCKED_ONLY(tuple->t_data->t_infomask) || HEAP_XMAX_IS_LOCKED_ONLY(tuple->t_data->t_infomask) ||
HeapTupleHeaderIsOnlyLocked(tuple->t_data)) HeapTupleHeaderIsOnlyLocked(tuple->t_data))
result = TM_Ok; result = TM_Ok;
else if (!ItemPointerEquals(&tuple->t_self, &tuple->t_data->t_ctid)) else if (!ItemPointerEquals(&tuple->t_self, &tuple->t_data->t_ctid) ||
HeapTupleHeaderIndicatesMovedPartitions(tuple->t_data))
result = TM_Updated; result = TM_Updated;
else else
result = TM_Deleted; result = TM_Deleted;
@ -5056,7 +5059,8 @@ test_lockmode_for_conflict(MultiXactStatus status, TransactionId xid,
LOCKMODE_from_mxstatus(wantedstatus))) LOCKMODE_from_mxstatus(wantedstatus)))
{ {
/* bummer */ /* bummer */
if (!ItemPointerEquals(&tup->t_self, &tup->t_data->t_ctid)) if (!ItemPointerEquals(&tup->t_self, &tup->t_data->t_ctid) ||
HeapTupleHeaderIndicatesMovedPartitions(tup->t_data))
return TM_Updated; return TM_Updated;
else else
return TM_Deleted; return TM_Deleted;

View File

@ -607,7 +607,8 @@ HeapTupleSatisfiesUpdate(HeapTuple htup, CommandId curcid,
{ {
if (HEAP_XMAX_IS_LOCKED_ONLY(tuple->t_infomask)) if (HEAP_XMAX_IS_LOCKED_ONLY(tuple->t_infomask))
return TM_Ok; return TM_Ok;
if (!ItemPointerEquals(&htup->t_self, &tuple->t_ctid)) if (!ItemPointerEquals(&htup->t_self, &tuple->t_ctid) ||
HeapTupleHeaderIndicatesMovedPartitions(tuple))
return TM_Updated; /* updated by other */ return TM_Updated; /* updated by other */
else else
return TM_Deleted; /* deleted by other */ return TM_Deleted; /* deleted by other */
@ -652,7 +653,8 @@ HeapTupleSatisfiesUpdate(HeapTuple htup, CommandId curcid,
if (TransactionIdDidCommit(xmax)) if (TransactionIdDidCommit(xmax))
{ {
if (!ItemPointerEquals(&htup->t_self, &tuple->t_ctid)) if (!ItemPointerEquals(&htup->t_self, &tuple->t_ctid) ||
HeapTupleHeaderIndicatesMovedPartitions(tuple))
return TM_Updated; return TM_Updated;
else else
return TM_Deleted; return TM_Deleted;
@ -712,7 +714,8 @@ HeapTupleSatisfiesUpdate(HeapTuple htup, CommandId curcid,
SetHintBits(tuple, buffer, HEAP_XMAX_COMMITTED, SetHintBits(tuple, buffer, HEAP_XMAX_COMMITTED,
HeapTupleHeaderGetRawXmax(tuple)); HeapTupleHeaderGetRawXmax(tuple));
if (!ItemPointerEquals(&htup->t_self, &tuple->t_ctid)) if (!ItemPointerEquals(&htup->t_self, &tuple->t_ctid) ||
HeapTupleHeaderIndicatesMovedPartitions(tuple))
return TM_Updated; /* updated by other */ return TM_Updated; /* updated by other */
else else
return TM_Deleted; /* deleted by other */ return TM_Deleted; /* deleted by other */