> > I am concerned about the case where VACUUM FULL:
> > 1. inserts heap tuple to new location using FrozenXid
> > 2. updates original heap tuples's xmax
>
> It doesn't matter whether it's FrozenXid or not. The tuple is not
> visible if it's got the wrong setting of HEAP_MOVED_OFF/IN.
But the FrozenXid tuple has HEAP_MOVED_IN and the original has
not yet been altered to HEAP_MOVED_OFF because of abort.
Is the HEAP_MOVED_IN tuple not visible ?
Andreas