pgsql: Remove bms_first_member(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Remove bms_first_member().
Date
Msg-id E1pXmJY-001Xy1-Th@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Remove bms_first_member().

This function has been semi-deprecated ever since we invented
bms_next_member().  Its habit of scribbling on the input bitmapset
isn't great, plus for sufficiently large bitmapsets it would take
O(N^2) time to complete a loop.  Now we have the additional problem
that reducing the input to empty while leaving it still accessible
would violate a planned invariant.  So let's just get rid of it,
after updating the few extant callers to use bms_next_member().

Patch by me; thanks to Nathan Bossart and Richard Guo for review.

Discussion: https://postgr.es/m/1159933.1677621588@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/462bb7f12851c215dfc21a88ae0ed4bf7fcb36a3

Modified Files
--------------
contrib/file_fdw/file_fdw.c                |  9 ++++---
contrib/sepgsql/dml.c                      |  3 ++-
src/backend/access/heap/heapam.c           | 27 +++++++------------
src/backend/executor/nodeAgg.c             |  3 ++-
src/backend/nodes/bitmapset.c              | 42 ------------------------------
src/backend/optimizer/plan/subselect.c     |  3 ++-
src/backend/parser/parse_expr.c            |  2 +-
src/backend/replication/logical/relation.c |  3 ++-
src/include/nodes/bitmapset.h              |  1 -
9 files changed, 23 insertions(+), 70 deletions(-)


pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: Mark options as deprecated in usage output
Next
From: Thomas Munro
Date:
Subject: pgsql: Don't leak descriptors into subprograms.