aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistxlog.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-08-20 14:51:02 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-08-20 14:51:52 -0400
commit6016005118295fdcd97d99a0f372f18a28251c48 (patch)
tree25749e847ff0b3b56c09852a7d00e319f4adfeaf /src/backend/access/gist/gistxlog.c
parent44631eec3298d25b7b6fa71fc237c076f4e2a3a3 (diff)
downloadpostgresql-6016005118295fdcd97d99a0f372f18a28251c48.tar.gz
postgresql-6016005118295fdcd97d99a0f372f18a28251c48.zip
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.
Diffstat (limited to 'src/backend/access/gist/gistxlog.c')
0 files changed, 0 insertions, 0 deletions