Re: [HACKERS] [PATCH] pageinspect function to decode infomasks
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>,
Alvaro Herrera <alvherre@2ndquadrant.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-08T07:36:36Z
Lists: pgsql-hackers
On Thu, Sep 5, 2019 at 2:17 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > Thanks. I hope the attached new patch fixes this issue. > * +-- decode infomask flags as human readable flag names +CREATE FUNCTION heap_infomask_flags( + infomask integer, + infomask2 integer, + decode_combined boolean DEFAULT false) +RETURNS text[] +AS 'MODULE_PATHNAME', 'heap_infomask_flags' Isn't it better to name this function as tuple_infomask_flags or something like that? The other functions that start their name with heap take page as input. Also, I think the index-related functions that start with index name take blk/page as input. * + <varlistentry> + <term> + <function>heap_infomask_flags(infomask integer, infomask2 integer, decode_combined bool) returns text[]</function> + <indexterm> + <primary>heap_infomask_flags</primary> + </indexterm> + </term> + <listitem> + <para> + <function>heap_infomask_flags</function> decodes the + <structfield>t_infomask</structfield> and + <structfield>t_infomask2</structfield> returned by + <function>heap_page_items</function> into a human-readable + array of flag names. This can be used to see the tuple hint bits etc. + </para> I think it is better to use one example for this function as we do for other functions in this doc. * + <para> + If decode_combined is set, combination flags like + <literal>HEAP_XMIN_FROZEN</literal> are output instead of raw + flags, <literal>HEAP_XMIN_COMMITTED</literal> and + <literal>HEAP_XMIN_INVALID</literal>. Default value is + <literal>false</literal>. + </para> decode_combined should use parameter marker (like <parameter>decode_combined</parameter>). Instead of saying "decode_combined" is set, you can use true/false terminology as that is what we use for this parameter. See explanation of "do_detoast" that is used in function tuple_data_split in the same doc (pageinspect.sgml) for reference. -- 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