@@ -383,7 +383,6 @@ heapgetpage(TableScanDesc sscan, BlockNumber block)
383
383
int lines ;
384
384
int ntup ;
385
385
OffsetNumber lineoff ;
386
- ItemId lpp ;
387
386
bool all_visible ;
388
387
389
388
Assert (block < scan -> rs_nblocks );
@@ -452,31 +451,30 @@ heapgetpage(TableScanDesc sscan, BlockNumber block)
452
451
*/
453
452
all_visible = PageIsAllVisible (page ) && !snapshot -> takenDuringRecovery ;
454
453
455
- for (lineoff = FirstOffsetNumber , lpp = PageGetItemId (page , lineoff );
456
- lineoff <= lines ;
457
- lineoff ++ , lpp ++ )
454
+ for (lineoff = FirstOffsetNumber ; lineoff <= lines ; lineoff ++ )
458
455
{
459
- if (ItemIdIsNormal (lpp ))
460
- {
461
- HeapTupleData loctup ;
462
- bool valid ;
456
+ ItemId lpp = PageGetItemId (page , lineoff );
457
+ HeapTupleData loctup ;
458
+ bool valid ;
463
459
464
- loctup .t_tableOid = RelationGetRelid (scan -> rs_base .rs_rd );
465
- loctup .t_data = (HeapTupleHeader ) PageGetItem (page , lpp );
466
- loctup .t_len = ItemIdGetLength (lpp );
467
- ItemPointerSet (& (loctup .t_self ), block , lineoff );
460
+ if (!ItemIdIsNormal (lpp ))
461
+ continue ;
468
462
469
- if ( all_visible )
470
- valid = true ;
471
- else
472
- valid = HeapTupleSatisfiesVisibility ( & loctup , snapshot , buffer );
463
+ loctup . t_tableOid = RelationGetRelid ( scan -> rs_base . rs_rd );
464
+ loctup . t_data = ( HeapTupleHeader ) PageGetItem ( page , lpp ) ;
465
+ loctup . t_len = ItemIdGetLength ( lpp );
466
+ ItemPointerSet ( & ( loctup . t_self ), block , lineoff );
473
467
474
- HeapCheckForSerializableConflictOut (valid , scan -> rs_base .rs_rd ,
475
- & loctup , buffer , snapshot );
468
+ if (all_visible )
469
+ valid = true;
470
+ else
471
+ valid = HeapTupleSatisfiesVisibility (& loctup , snapshot , buffer );
476
472
477
- if (valid )
478
- scan -> rs_vistuples [ntup ++ ] = lineoff ;
479
- }
473
+ HeapCheckForSerializableConflictOut (valid , scan -> rs_base .rs_rd ,
474
+ & loctup , buffer , snapshot );
475
+
476
+ if (valid )
477
+ scan -> rs_vistuples [ntup ++ ] = lineoff ;
480
478
}
481
479
482
480
LockBuffer (buffer , BUFFER_LOCK_UNLOCK );
0 commit comments