@ -2717,13 +2717,7 @@ l1:
result = TM_Deleted ;
}
if ( crosscheck ! = InvalidSnapshot & & result = = TM_Ok )
{
/* Perform additional check for transaction-snapshot mode RI updates */
if ( ! HeapTupleSatisfiesVisibility ( & tp , crosscheck , buffer ) )
result = TM_Updated ;
}
/* sanity check the result HeapTupleSatisfiesUpdate() and the logic above */
if ( result ! = TM_Ok )
{
Assert ( result = = TM_SelfModified | |
@ -2733,6 +2727,17 @@ l1:
Assert ( ! ( tp . t_data - > t_infomask & HEAP_XMAX_INVALID ) ) ;
Assert ( result ! = TM_Updated | |
! ItemPointerEquals ( & tp . t_self , & tp . t_data - > t_ctid ) ) ;
}
if ( crosscheck ! = InvalidSnapshot & & result = = TM_Ok )
{
/* Perform additional check for transaction-snapshot mode RI updates */
if ( ! HeapTupleSatisfiesVisibility ( & tp , crosscheck , buffer ) )
result = TM_Updated ;
}
if ( result ! = TM_Ok )
{
tmfd - > ctid = tp . t_data - > t_ctid ;
tmfd - > xmax = HeapTupleHeaderGetUpdateXid ( tp . t_data ) ;
if ( result = = TM_SelfModified )
@ -3351,16 +3356,7 @@ l2:
result = TM_Deleted ;
}
if ( crosscheck ! = InvalidSnapshot & & result = = TM_Ok )
{
/* Perform additional check for transaction-snapshot mode RI updates */
if ( ! HeapTupleSatisfiesVisibility ( & oldtup , crosscheck , buffer ) )
{
result = TM_Updated ;
Assert ( ! ItemPointerEquals ( & oldtup . t_self , & oldtup . t_data - > t_ctid ) ) ;
}
}
/* Sanity check the result HeapTupleSatisfiesUpdate() and the logic above */
if ( result ! = TM_Ok )
{
Assert ( result = = TM_SelfModified | |
@ -3370,6 +3366,17 @@ l2:
Assert ( ! ( oldtup . t_data - > t_infomask & HEAP_XMAX_INVALID ) ) ;
Assert ( result ! = TM_Updated | |
! ItemPointerEquals ( & oldtup . t_self , & oldtup . t_data - > t_ctid ) ) ;
}
if ( crosscheck ! = InvalidSnapshot & & result = = TM_Ok )
{
/* Perform additional check for transaction-snapshot mode RI updates */
if ( ! HeapTupleSatisfiesVisibility ( & oldtup , crosscheck , buffer ) )
result = TM_Updated ;
}
if ( result ! = TM_Ok )
{
tmfd - > ctid = oldtup . t_data - > t_ctid ;
tmfd - > xmax = HeapTupleHeaderGetUpdateXid ( oldtup . t_data ) ;
if ( result = = TM_SelfModified )