Re: [PATCH] pageinspect function to decode infomasks
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-08-16T15:14:03Z
Lists: pgsql-hackers
On Tue, Aug 15, 2017 at 4:36 PM, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote: > You might say that people investigating issues in this area of code should > be aware of how HEAP_XMIN_FROZEN is defined, and perhaps you're right ... Yes, I think that's what I would say. I mean, if you happen to NOT know that committed|invalid == frozen, but you DO know what committed means and what invalid means, then you're going to be *really* confused when you see committed and invalid set on the same tuple. Showing you frozen has got to be clearer. Now, I agree with you that a test like (enumval_tup->t_data & HEAP_XMIN_COMMITTED) could be confusing to someone who doesn't realize that HEAP_XMIN_FROZEN & HEAP_XMIN_COMMITTED == HEAP_XMIN_COMMITTED, but I think that's just one of those things that unfortunately is going to require adequate knowledge for people investigating issues. If there's an action item there, it might be to try to come up with a way to make the source code clearer. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Redesign pageinspect function printing infomask bits
- 58b4cb30a5bf 13.0 landed
-
Add to pageinspect function to make t_infomask/t_infomask2 human-readable
- ddbd5d873161 13.0 landed
-
Improve documentation of pageinspect
- 1fb2d78cb946 10.11 landed
- 6472d7ad5d70 11.6 landed
- 08e68825c1d6 12.0 landed
- 292ae8af79b4 13.0 landed
-
Improve pageinspect module
- d6061f83a166 9.6.0 cited