From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix logic bug in gistchoose and gistRelocateBuildBuffersOnSplit. |
Date: | 2012-08-30 17:10:02 |
Message-ID: | E1T78Fm-0005Ic-2N@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2012-08-30 17:13:49 | pgsql: Remove old documentation warnings about the use of bigint. |
Previous Message | Tom Lane | 2012-08-30 16:57:06 | pgsql: Improve EXPLAIN's ability to cope with LATERAL references in pla |