16
16
* Portions Copyright (c) 1994, Regents of the University of California
17
17
*
18
18
* IDENTIFICATION
19
- * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.56 2002/06 /20 20:29:41 momjian Exp $
19
+ * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.57 2002/07 /20 04:57:13 momjian Exp $
20
20
*
21
21
*-------------------------------------------------------------------------
22
22
*/
@@ -92,7 +92,10 @@ HeapTupleSatisfiesItself(HeapTupleHeader tuple)
92
92
if (TransactionIdIsInProgress (HeapTupleHeaderGetXvac (tuple )))
93
93
return false;
94
94
if (TransactionIdDidCommit (HeapTupleHeaderGetXvac (tuple )))
95
+ {
95
96
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
97
+ tuple -> t_infomask &= ~HEAP_MOVED ;
98
+ }
96
99
else
97
100
{
98
101
tuple -> t_infomask |= HEAP_XMIN_INVALID ;
@@ -219,6 +222,7 @@ HeapTupleSatisfiesNow(HeapTupleHeader tuple)
219
222
return false;
220
223
}
221
224
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
225
+ tuple -> t_infomask &= ~HEAP_MOVED ;
222
226
}
223
227
}
224
228
else if (tuple -> t_infomask & HEAP_MOVED_IN )
@@ -228,7 +232,10 @@ HeapTupleSatisfiesNow(HeapTupleHeader tuple)
228
232
if (TransactionIdIsInProgress (HeapTupleHeaderGetXvac (tuple )))
229
233
return false;
230
234
if (TransactionIdDidCommit (HeapTupleHeaderGetXvac (tuple )))
235
+ {
231
236
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
237
+ tuple -> t_infomask &= ~HEAP_MOVED ;
238
+ }
232
239
else
233
240
{
234
241
tuple -> t_infomask |= HEAP_XMIN_INVALID ;
@@ -336,6 +343,7 @@ HeapTupleSatisfiesToast(HeapTupleHeader tuple)
336
343
return false;
337
344
}
338
345
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
346
+ tuple -> t_infomask &= ~HEAP_MOVED ;
339
347
}
340
348
}
341
349
else if (tuple -> t_infomask & HEAP_MOVED_IN )
@@ -345,7 +353,10 @@ HeapTupleSatisfiesToast(HeapTupleHeader tuple)
345
353
if (TransactionIdIsInProgress (HeapTupleHeaderGetXvac (tuple )))
346
354
return false;
347
355
if (TransactionIdDidCommit (HeapTupleHeaderGetXvac (tuple )))
356
+ {
348
357
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
358
+ tuple -> t_infomask &= ~HEAP_MOVED ;
359
+ }
349
360
else
350
361
{
351
362
tuple -> t_infomask |= HEAP_XMIN_INVALID ;
@@ -389,6 +400,7 @@ HeapTupleSatisfiesUpdate(HeapTuple htuple, CommandId curcid)
389
400
return HeapTupleInvisible ;
390
401
}
391
402
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
403
+ tuple -> t_infomask &= ~HEAP_MOVED ;
392
404
}
393
405
}
394
406
else if (tuple -> t_infomask & HEAP_MOVED_IN )
@@ -398,7 +410,10 @@ HeapTupleSatisfiesUpdate(HeapTuple htuple, CommandId curcid)
398
410
if (TransactionIdIsInProgress (HeapTupleHeaderGetXvac (tuple )))
399
411
return HeapTupleInvisible ;
400
412
if (TransactionIdDidCommit (HeapTupleHeaderGetXvac (tuple )))
413
+ {
401
414
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
415
+ tuple -> t_infomask &= ~HEAP_MOVED ;
416
+ }
402
417
else
403
418
{
404
419
tuple -> t_infomask |= HEAP_XMIN_INVALID ;
@@ -520,6 +535,7 @@ HeapTupleSatisfiesDirty(HeapTupleHeader tuple)
520
535
return false;
521
536
}
522
537
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
538
+ tuple -> t_infomask &= ~HEAP_MOVED ;
523
539
}
524
540
}
525
541
else if (tuple -> t_infomask & HEAP_MOVED_IN )
@@ -529,7 +545,10 @@ HeapTupleSatisfiesDirty(HeapTupleHeader tuple)
529
545
if (TransactionIdIsInProgress (HeapTupleHeaderGetXvac (tuple )))
530
546
return false;
531
547
if (TransactionIdDidCommit (HeapTupleHeaderGetXvac (tuple )))
548
+ {
532
549
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
550
+ tuple -> t_infomask &= ~HEAP_MOVED ;
551
+ }
533
552
else
534
553
{
535
554
tuple -> t_infomask |= HEAP_XMIN_INVALID ;
@@ -651,6 +670,7 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
651
670
return false;
652
671
}
653
672
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
673
+ tuple -> t_infomask &= ~HEAP_MOVED ;
654
674
}
655
675
}
656
676
else if (tuple -> t_infomask & HEAP_MOVED_IN )
@@ -660,7 +680,10 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
660
680
if (TransactionIdIsInProgress (HeapTupleHeaderGetXvac (tuple )))
661
681
return false;
662
682
if (TransactionIdDidCommit (HeapTupleHeaderGetXvac (tuple )))
683
+ {
663
684
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
685
+ tuple -> t_infomask &= ~HEAP_MOVED ;
686
+ }
664
687
else
665
688
{
666
689
tuple -> t_infomask |= HEAP_XMIN_INVALID ;
@@ -809,6 +832,7 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
809
832
return HEAPTUPLE_DEAD ;
810
833
}
811
834
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
835
+ tuple -> t_infomask &= ~HEAP_MOVED ;
812
836
}
813
837
else if (tuple -> t_infomask & HEAP_MOVED_IN )
814
838
{
@@ -817,7 +841,10 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
817
841
if (TransactionIdIsInProgress (HeapTupleHeaderGetXvac (tuple )))
818
842
return HEAPTUPLE_INSERT_IN_PROGRESS ;
819
843
if (TransactionIdDidCommit (HeapTupleHeaderGetXvac (tuple )))
844
+ {
820
845
tuple -> t_infomask |= HEAP_XMIN_COMMITTED ;
846
+ tuple -> t_infomask &= ~HEAP_MOVED ;
847
+ }
821
848
else
822
849
{
823
850
tuple -> t_infomask |= HEAP_XMIN_INVALID ;
0 commit comments