btree source code cleanups:

Bruce Momjian <bruce@momjian.us>

Commit: 6f519ad01c08b3866df3774558621937644036b9
Author: Bruce Momjian <bruce@momjian.us>
Date: 2007-02-21T20:02:17Z
Releases: 8.3.0
btree source code cleanups:

I refactored findsplitloc and checksplitloc so that the division of
labor is more clear IMO. I pushed all the space calculation inside the
loop to checksplitloc.

I also fixed the off by 4 in free space calculation caused by
PageGetFreeSpace subtracting sizeof(ItemIdData), even though it was
harmless, because it was distracting and I felt it might come back to
bite us in the future if we change the page layout or alignments.
There's now a new function PageGetExactFreeSpace that doesn't do the
subtraction.

findsplitloc now tries the "just the new item to right page" split as
well. If people don't like the refactoring, I can write a patch to just
add that.

Heikki Linnakangas

Files