]> granicus.if.org Git - postgresql/commit
Back-patch recent fixes for gistchoose and gistRelocateBuildBuffersOnSplit.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 31 Aug 2012 03:47:54 +0000 (23:47 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 31 Aug 2012 03:47:54 +0000 (23:47 -0400)
commit6707dd48cdfcc95934a89df5ad4c4c2ecf0e5225
tree1a060de315f5a2e567448783d57170e3a27adceb
parentf6956eb74edcdf21339f9d200ef63c4015a5f4cb
Back-patch recent fixes for gistchoose and gistRelocateBuildBuffersOnSplit.

This back-ports commits c8ba697a4bdb934f0c51424c654e8db6133ea255 and
e5db11c5582b469c04a11f217a0f32c827da5dd7, which fix one definite and one
speculative bug in gistchoose, and make the code a lot more intelligible as
well.  In 9.2 only, this also affects the largely-copied-and-pasted logic
in gistRelocateBuildBuffersOnSplit.

The impact of the bugs was that the functions might make poor decisions
as to which index tree branch to push a new entry down into, resulting in
GiST index bloat and poor performance.  The fixes rectify these decisions
for future insertions, but a REINDEX would be needed to clean up any
existing index bloat.

Alexander Korotkov, Robert Haas, Tom Lane
src/backend/access/gist/gistutil.c