Re: Trying to understand Tuple Header
David G. Johnston <david.g.johnston@gmail.com>
From: "David G. Johnston" <david.g.johnston@gmail.com>
To: "Subramanian,Ramachandran" <ramachandran.subramanian@alte-leipziger.de>
Cc: "pgsql-novice@lists.postgresql.org" <pgsql-novice@lists.postgresql.org>
Date: 2026-05-03T19:48:47Z
Lists: pgsql-novice
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 !!!. > > > > Am I not seeing something that is obvious? > 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". Manually evaluating the various tests against the data you did show would have proven that the pre-select-data had zeros where the second query claims there are ones. David J.