On Fri, Sep 13, 2019 at 5:31 PM Alvaro Herrera <alvhe...@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


Reply via email to