On Fri, 16 Sept 2022 at 15:26, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Simon Riggs <simon.riggs@enterprisedb.com> writes:
> > A user asked me whether we prune never visible changes, such as
> > BEGIN;
> > INSERT...
> > UPDATE.. (same row)
> > COMMIT;
>
> Didn't we just have this discussion in another thread?
Not that I was aware of, but it sounds like a different case anyway.
> You cannot
> do that, at least not without checking that the originating
> transaction has no snapshots that could see the older row version.
I'm saying this is possible only AFTER the end of the originating
xact, so there are no issues with additional snapshots.
i.e. the never visible row has to be judged RECENTLY_DEAD before we even check.
--
Simon Riggs http://www.EnterpriseDB.com/