"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Sun, May 3, 2026 at 12:25 PM Subramanian,Ramachandran <
> ramachandran.subramanian@alte-leipziger.de> wrote:
>> The binary value of t_infomask for both the tuples are identical, but they
>> produce different column values for xmin_commited, xmin_aborted …. in the
>> SQL !!!.
> You didn't re-check the infomask data after running the select query,
> instead assuming the bits didn't change. They did. SELECT is not a
> read-only operation, it participates in optimizations. Called "writing
> hint bits".
Well, it *might* update the hint bits, but it can only do that after
the tuple is visible to all live transactions. So it matters what
else is happening within the database. In any case, pg_xact is the
ultimate source of truth about whether a tuple is committed or not.
regards, tom lane