pgsql: Update nbits_set in brin_bloom_union

From: Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Update nbits_set in brin_bloom_union
Date: 2024-04-14 16:18:19
Message-ID: E1rw2Yd-0022Ts-5E@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Update nbits_set in brin_bloom_union

Properly update the number of bits set in the bitmap after merging the
filters in brin_bloom_union.

This is mostly harmless, as the counter is used only in the output
function, which means pageinspect may show incorrect information about
the BRIN summary. The counter does not affect correctness.

Discovered while adding a regression test comparing indexes built with
and without parallelism. The parallel index builds exercise the union
procedure when merging results from workers, which is otherwise very
hard to do in a test. Which is why this went unnoticed until now.

Backpatch through 14, where the BRIN bloom opclasses were introduced.

Backpatch-through: 14
Discussion: https://postgr.es/m/1df00a66-db5a-4e66-809a-99b386a06d86%40enterprisedb.com

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/ad23af83dad3d341c8ac5b699518fb64eaff88db

Modified Files
--------------
src/backend/access/brin/brin_bloom.c | 3 +++
1 file changed, 3 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Tomas Vondra 2024-04-14 16:26:59 pgsql: Use the correct PG_DETOAST_DATUM macro in BRIN
Previous Message Tomas Vondra 2024-04-14 16:17:35 pgsql: Update nbits_set in brin_bloom_union