Re: [PATCH] Don't block HOT update by BRIN index

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: Josef Šimánek <josef.simanek@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2021-07-12T20:55:31Z
Lists: pgsql-hackers
On 2021-Jul-12, Tomas Vondra wrote:

> Well, one of us is confused and it might be me ;-)

:-)

> The point is that BRIN is the only index type with amhotblocking=false,
> so it would return NULL (and thus it does not block HOT). All other
> indexes AMs have amblocking=true and so should return rd_indexattr (I
> forgot to change that in the code chunk).

But RelationGetIndexAttrBitmap is called for the table that contains the
index (and probably contains some other indexes too), not for one
specific index.  So the bitmap is about the columns involved in *all*
indexes of the table ...

-- 
Álvaro Herrera              Valdivia, Chile  —  https://www.EnterpriseDB.com/
"El destino baraja y nosotros jugamos" (A. Schopenhauer)



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Ignore BRIN indexes when checking for HOT updates

  2. Move test for BRIN HOT behavior to stats.sql

  3. Ignore BRIN indexes when checking for HOT udpates