Re: Expanding HOT updates for expression and partial indexes - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: Expanding HOT updates for expression and partial indexes
Date
Msg-id acLppkl4hutHhiuH@nathan
Whole thread Raw
In response to Re: Expanding HOT updates for expression and partial indexes  ("Greg Burd" <greg@burd.me>)
Responses Re: Expanding HOT updates for expression and partial indexes
List pgsql-hackers
On Tue, Mar 24, 2026 at 02:02:07PM -0400, Greg Burd wrote:
> On Mon, Mar 23, 2026, at 2:39 PM, Nathan Bossart wrote:
>> On Tue, Mar 17, 2026 at 02:04:11PM -0400, Greg Burd wrote:
>>> - *    INDEX_ATTR_BITMAP_SUMMARIZED    Columns included in summarizing indexes
>>> + *    INDEX_ATTR_BITMAP_INDEXED        Columns referenced by indexes
>>> + *    INDEX_ATTR_BITMAP_SUMMARIZED    Columns only included in summarizing indexes
>>
>>> -    Bitmapset  *summarizedattrs;    /* columns with summarizing indexes */
>>> +    Bitmapset  *indexedattrs;    /* columns referenced by indexes */
>>> +    Bitmapset  *summarizedattrs;    /* columns only in summarizing indexes */
>>
>> As before, the comment changes for the summarized-attr-related stuff seem
>> unnecessary.
> 
> I disagree, the "only" is required to highlight the logic change here.
> Before this patch summarized attrs could overlap with indexed attrs, now
> it should not.  This makes the logic a bit easier later in
> HeapUpdateHotAllowable().

My bad, you are right.

> So, we go from 3 calls to RelationGetIndexAttrBitmap() to 1, or at most 2
> when there's a summarizing index (which is frequently the case).
> 
> This feels more logical, cleaner, and has less overhead but supports the
> same HOT logic.

Nice.

-- 
nathan



pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: pg_buffercache: Add per-relation summary stats
Next
From: Andres Freund
Date:
Subject: Re: Adding locks statistics