Fix performance problem when building a lossy tidbitmap. As pointed out by Sergey Koposov, repeated invocations of tbm_lossify can make building a large tidbitmap into an O(N^2) operation. To fix, make sure we remove more than the minimum amount of information per call, and add a fallback path to behave sanely if we're unable to fit the bitmap within the requested amount of memory.
This has been wrong since the tidbitmap code was written, so back-patch to all supported branches. Branch ------ REL9_0_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/706493a1f7cbd9c7d3a792fd5066b55c145b9b01 Modified Files -------------- src/backend/nodes/tidbitmap.c | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
