diff options
author | David Rowley <drowley@postgresql.org> | 2020-08-26 10:51:36 +1200 |
---|---|---|
committer | David Rowley <drowley@postgresql.org> | 2020-08-26 10:51:36 +1200 |
commit | c34605daed563fcade07a9f45bcf440459599c00 (patch) | |
tree | 5d6ade2b0cc2d49c5aa76c5449e8291af16095a2 /src/backend/optimizer/path/clausesel.c | |
parent | ff60394a8c9a7af8b32de420ccb54a20a0f019c1 (diff) | |
download | postgresql-c34605daed563fcade07a9f45bcf440459599c00.tar.gz postgresql-c34605daed563fcade07a9f45bcf440459599c00.zip |
Fixup some misusages of bms_num_members()
It's a bit inefficient to test if a Bitmapset is empty by counting all the
members and seeing if that number is zero. It's much better just to use
bms_is_empty(). Likewise for checking if there are at least two members,
just use bms_membership(), which does not need to do anything more after
finding two members.
Discussion: https://postgr.es/m/CAApHDvpvwm_QjbDOb5xga%2BKmX9XkN9xQavNGm3SvDbVnCYOerQ%40mail.gmail.com
Reviewed-by: Tomas Vondra
Diffstat (limited to 'src/backend/optimizer/path/clausesel.c')
-rw-r--r-- | src/backend/optimizer/path/clausesel.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/backend/optimizer/path/clausesel.c b/src/backend/optimizer/path/clausesel.c index a3ebe10592d..37a735b06bb 100644 --- a/src/backend/optimizer/path/clausesel.c +++ b/src/backend/optimizer/path/clausesel.c @@ -164,8 +164,7 @@ clauselist_selectivity_simple(PlannerInfo *root, * directly to clause_selectivity(). None of what we might do below is * relevant. */ - if ((list_length(clauses) == 1) && - bms_num_members(estimatedclauses) == 0) + if (list_length(clauses) == 1 && bms_is_empty(estimatedclauses)) return clause_selectivity(root, (Node *) linitial(clauses), varRelid, jointype, sjinfo); |