Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 4614669

Browse files
author
Alexander Korotkov
committed
Fix bug in 64-bit xids.
Set xmax to heap tuple after setting infromask. Previously, multixid could be messed up with normal xid.
1 parent 785da5e commit 4614669

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/access/heap/heapam.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4442,9 +4442,9 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup,
44424442
HeapTupleClearHotUpdated(&oldtup);
44434443
/* ... and store info about transaction updating this tuple */
44444444
Assert(TransactionIdIsValid(xmax_lock_old_tuple));
4445-
HeapTupleSetXmax(&oldtup, xmax_lock_old_tuple);
44464445
oldtup.t_data->t_infomask |= infomask_lock_old_tuple;
44474446
oldtup.t_data->t_infomask2 |= infomask2_lock_old_tuple;
4447+
HeapTupleSetXmax(&oldtup, xmax_lock_old_tuple);
44484448
HeapTupleHeaderSetCmax(oldtup.t_data, cid, iscombo);
44494449

44504450
/* temporarily make it look not-updated, but locked */

0 commit comments

Comments
 (0)