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