]> granicus.if.org Git - postgresql/commit
Add bms_get_singleton_member(), and use it where appropriate.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 28 Nov 2014 19:16:24 +0000 (14:16 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 28 Nov 2014 19:16:24 +0000 (14:16 -0500)
commitd25367ec4f869aac80e97964fa5d7143536818b1
treedbcc0102cdde5c0147622c3ff317444b0c711b3a
parentf4e031c662a6b600b786c4849968a099c58fcce7
Add bms_get_singleton_member(), and use it where appropriate.

This patch adds a function that replaces a bms_membership() test followed
by a bms_singleton_member() call, performing both the test and the
extraction of a singleton set's member in one scan of the bitmapset.
The performance advantage over the old way is probably minimal in current
usage, but it seems worthwhile on notational grounds anyway.

David Rowley
src/backend/nodes/bitmapset.c
src/backend/optimizer/path/equivclass.c
src/backend/optimizer/plan/analyzejoins.c
src/backend/optimizer/util/placeholder.c
src/include/nodes/bitmapset.h