Re: [PATCH] Don't block HOT update by BRIN index - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [PATCH] Don't block HOT update by BRIN index
Date
Msg-id 202107122102.lj3c3dmzyzv5@alvherre.pgsql
Whole thread Raw
In response to Re: [PATCH] Don't block HOT update by BRIN index  (Josef Šimánek <josef.simanek@gmail.com>)
Responses Re: [PATCH] Don't block HOT update by BRIN index  (Tomas Vondra <tomas.vondra@enterprisedb.com>)
List pgsql-hackers
On 2021-Jul-12, Josef Šimánek wrote:

> > 2) Do we actually need to calculate and store hotblockingattrs
> > separately in RelationGetIndexAttrBitmap? It seems to me it's either
> > NULL (with amhotblocking=false) or equal to indexattrs. So why not to
> > just get rid of hotblockingattr and rd_hotblockingattr, and do something
> > like
> >
> >   case INDEX_ATTR_BITMAP_HOT_BLOCKING:
> >     return (amhotblocking) ? bms_copy(rel->rd_hotblockingattr) : NULL;
> >
> > I haven't tried, so maybe I'm missing something?
> 
> relation->rd_indexattr is currently not used (at least I have not
> found anything) for anything, except looking if other values are
> already loaded.

Oh, that's interesting.  What this means is that INDEX_ATTR_BITMAP_ALL
is no longer used; its uses must have all been replaced by something
else.  It seems the only one that currently exists is for HOT in
heap_update, which this patch replaces with the new one.  In a quick
search, no external code depends on it, so I'd be inclined to just
remove it ...

I think a boolean is much simpler.  Consider a table with 1600 columns :-)

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"Puedes vivir sólo una vez, pero si lo haces bien, una vez es suficiente"



pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: [PATCH] Don't block HOT update by BRIN index
Next
From: Tom Lane
Date:
Subject: Re: [CLOBBER_CACHE]Server crashed with segfault 11 while executing clusterdb