Re: [HACKERS] [PATCH] pageinspect function to decode infomasks
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Michael Paquier <michael@paquier.xyz>,
Masahiko Sawada <sawada.mshk@gmail.com>, Craig Ringer <craig@2ndquadrant.com>,
Ashutosh Sharma <ashu.coek88@gmail.com>, Julien Rouhaud <rjuju123@gmail.com>, Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Abhijit Menon-Sen <ams@2ndquadrant.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Pavan Deolasee <pavan.deolasee@2ndquadrant.com>
Date: 2019-09-14T03:55:31Z
Lists: pgsql-hackers
On Fri, Sep 13, 2019 at 5:31 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > > On 2019-Sep-13, Michael Paquier wrote: > > > Attached is a patch to fix your suggestions. This also removes the > > use of HEAP_XMAX_IS_LOCKED_ONLY which did not make completely sense > > either as a "raw" flag. While on it, the order of the flags can be > > improved to match more the order of htup_details.h > > A thought I had as I fell asleep last night is to include the derivate > flags in a separate output column altogether. So > heap_tuple_infomask_flags() could be made to return two columns, one > with the straight one-flag-per-bit, and another one with the compound > flags. > So, in most cases, the compound column will be empty, but in some cases like HEAP_XMIN_FROZEN, HEAP_XMAX_SHR_LOCK, etc. the flag will be displayed. I like this idea though it will be a bit of noise in some cases but it is neat. Another benefit is that one doesn't need to invoke this function twice to see the compound flags. > That way we always have the raw ones available, and we avoid any > confusion about strange cases such as LOCK_UPGRADED and IS_LOCKED_ONLY. > Yeah, but I am not sure if we want to do display LOCK_UPGRADED stuff in the compound column as that is not directly comparable to other flags we want to display there like HEAP_XMIN_FROZEN, HEAP_XMAX_SHR_LOCK. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
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