pgsql: Fix logic bug in gistchoose and gistRelocateBuildBuffersOnSplit. - Mailing list pgsql-committers

From Robert Haas
Subject pgsql: Fix logic bug in gistchoose and gistRelocateBuildBuffersOnSplit.
Date
Msg-id E1T78Fm-0005Ic-2N@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix logic bug in gistchoose and gistRelocateBuildBuffersOnSplit.

Every time the best-tuple-found-so-far changes, we need to reset all
the penalty values in which_grow[] to the penalties for the new best
tuple.  The old code failed to do this, resulting in inferior index
quality.

The original patch from Alexander Korotkov was just two lines; I took
the liberty of fleshing that out by adding a bunch of comments that I
hope will make this logic easier for others to understand than it was
for me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/c8ba697a4bdb934f0c51424c654e8db6133ea255

Modified Files
--------------
src/backend/access/gist/gistbuildbuffers.c |   43 +++++++++++++++++++++++----
src/backend/access/gist/gistutil.c         |   45 ++++++++++++++++++++++++++-
2 files changed, 80 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Improve EXPLAIN's ability to cope with LATERAL references in pla
Next
From: Bruce Momjian
Date:
Subject: pgsql: Remove old documentation warnings about the use of bigint.