Re: [PATCH] Corruption Issue: Fix missing tts_tid in ExecForceStoreHeapTuple

From: "Burd, Greg" <greg(at)burd(dot)me>
To: Virender Singla <virender(dot)cse(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, Andres Freund <andres(at)anarazel(dot)de>, Michael Paquier <michael(at)paquier(dot)xyz>
Subject: Re: [PATCH] Corruption Issue: Fix missing tts_tid in ExecForceStoreHeapTuple
Date: 2026-09-14 12:16:58
Message-ID: 4F3E438F-A854-4C82-88C2-0797FE5EDF2D@burd.me
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Sep 14, 2026, at 8:10 AM, Virender Singla <virender(dot)cse(at)gmail(dot)com> wrote:
>
> Just a quick ping on this patch.
> It appears the `tts_tid` assignment was inadvertently omitted from the
> BufferHeapTupleTableSlot path in ExecForceStoreHeapTuple() when the
> function was first introduced during the PG12 TupleTableSlot
> refactoring [1].

I ran into this myself and posted a patch [1] as well. I had not noticed your
patch. Looks like both patches are essentially identical with different tests
we could combine those into one and then possibly get the attention of a
committer.

> This was subsequently exposed when the GiST index scan reorder queue
> was updated to route popped tuples through this same function [2]. The
> relevant code hasn't changed since those commits.
>
> Thanks,
> Virender
> [1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4da597edf1b
> [2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=b8b94ea129f

I agree, it's a bug/oversight that has lingered since v12 and should be fixed.

best.

-greg

[1] https://pg.ddx.io/m/pgsql-hackers/0498c10f-839b-4f68-9994-c29b454e55a4(at)app(dot)fastmail(dot)com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2026-09-14 12:24:22 Re: Redundant headers in pg_stat_statements
Previous Message Virender Singla 2026-09-14 12:10:38 Re: [PATCH] Corruption Issue: Fix missing tts_tid in ExecForceStoreHeapTuple