pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: David Rowley <drowley@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Use bms_add_members() instead of bms_union() when possible
Date: Fri, 03 Oct 2025 23:19:51 +0000
Message-ID: <E1v4p42-001KoF-3B@gemulon.postgresql.org> (raw)

Use bms_add_members() instead of bms_union() when possible

bms_union() causes a new set to be allocated.  What this caller needs is
members added to an existing set.  bms_add_members() is the tool for
that job.

This is just a matter of fixing an inefficiency due to surplus memory
allocations.  No bugs being fixed.

The only other place I found that might be valid to apply this change is
in markNullableIfNeeded(), but I opted not to do that due to the risk to
reward ratio not looking favorable.  The risk being that there *could* be
another pointer pointing to the Bitmapset.

Author: David Rowley <dgrowleyml@gmail.com>
Reviewed-by: Greg Burd <greg@burd.me>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CAApHDvoCcoS-p5tZNJLTxFOKTYNjqVh7Dwf+5ikDUBwnvWftRw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5092aae431e3e1a20324ea3a42a181c63f703d0d

Modified Files
--------------
src/backend/optimizer/prep/prepunion.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)



Message-ID: <E1v4p42-001KoF-3B@gemulon.postgresql.org>
Permalink:  ../E1v4p42-001KoF-3B@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1v4p42-001KoF-3B@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: drowley@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Use bms_add_members() instead of bms_union() when possible
  In-Reply-To: <E1v4p42-001KoF-3B@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox