Re: pgsql: Set HEAP_XMAX_INVALID for tuples updated by aborted subtransacti

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pgsql: Set HEAP_XMAX_INVALID for tuples updated by aborted subtransacti
Date: 2026-10-29 08:11:26
Message-ID: auL_rryxdqDO-HaB@paquier.xyz
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Wed, Oct 28, 2026 at 03:32:44PM -0400, Robert Haas wrote:
> Uggh. I think that this is the right fix given that
> rewrite_heap_tuple() is documented to rely on hint bits being set for
> correctness, but it seems to me to be pretty questionable that we rely
> on hint bits being set for correctness. It's not going to be obvious
> to someone modifying HeapTupleSatisfiesVacuum() or
> HeapTupleSatisfiesVacuumHorizon() that rewrite_heap_tuple() critically
> depends on that, and even if we added a comment about that, somebody
> reading that comment might justifiably complain about our decision to
> create such a dependency.

As far as I know this is implied since 7b78474da356. So it's been
around for some time... It's really hard to miss, as the other thread
has proved.
--
Michael

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2026-10-29 11:46:36 pgsql: Use pg_parse_lsn() to parse LSN fields in backup_label
Previous Message Richard Guo 2026-10-29 06:34:03 pgsql: Fix eager aggregation below volatile join clauses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2026-10-29 08:14:43 Re: Return pg_control from pg_backup_stop().
Previous Message Hayato Kuroda (Fujitsu) 2026-10-29 07:56:13 RE: Avoid resetting subscription two_phase state to pending when already enabled