pgsql: Use bms_add_members() instead of bms_union() when possible

From: David Rowley <drowley(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use bms_add_members() instead of bms_union() when possible
Date: 2025-10-03 23:19:51
Message-ID: E1v4p42-001KoF-3B@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(at)gmail(dot)com>
Reviewed-by: Greg Burd <greg(at)burd(dot)me>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2025-10-04 01:30:48 pgsql: Teach UNION planner to remove dummy inputs
Previous Message Nathan Bossart 2025-10-03 19:03:40 pgsql: Optimize vector8_has_le() on AArch64.