From 462bb7f12851c215dfc21a88ae0ed4bf7fcb36a3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 2 Mar 2023 11:34:29 -0500 Subject: 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 --- src/backend/parser/parse_expr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/backend/parser/parse_expr.c') diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 7ff41acb846..78221d2e0f7 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -2759,7 +2759,7 @@ make_row_comparison_op(ParseState *pstate, List *opname, * them ... this coding arbitrarily picks the lowest btree strategy * number. */ - i = bms_first_member(strats); + i = bms_next_member(strats, -1); if (i < 0) { /* No common interpretation, so fail */ -- cgit v1.2.3