aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-01-27 20:53:30 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-01-27 20:53:30 +0000
commit6cefacd7c85ea15117bdd6b62c1ed3d65de5d19d (patch)
tree995914dd2194f183d6e65e90a47704af7d1d0a58 /src/backend/access/gist
parent0fe1c36757a5aa3c76ea94af4d64d56f8ed4b58a (diff)
downloadpostgresql-6cefacd7c85ea15117bdd6b62c1ed3d65de5d19d.tar.gz
postgresql-6cefacd7c85ea15117bdd6b62c1ed3d65de5d19d.zip
Correct an old logic error in btree page splitting: when considering a split
exactly at the point where we need to insert a new item, the calculation used the wrong size for the "high key" of the new left page. This could lead to choosing an unworkable split, resulting in "PANIC: failed to add item to the left sibling" (or "right sibling") failure. Although this bug has been there a long time, it's very difficult to trigger a failure before 8.2, since there was generally a lot of free space on both sides of a chosen split. In 8.2, where the user-selected fill factor determines how much free space the code tries to leave, an unworkable split is much more likely. Report by Joe Conway, diagnosis and fix by Heikki Linnakangas.
Diffstat (limited to 'src/backend/access/gist')
0 files changed, 0 insertions, 0 deletions