On Sat, 2011-11-26 at 19:26 -0500, Tom Lane wrote:
> I'm inclined to propose that we should add some logic to say that
> merging a new item into an existing one is forbidden if the penalty
> function returns plus-infinity for the case. If all existing items on a
> page return infinity, a new item must be added to the page (possibly
> causing a page split) instead of inserting into any existing one.
> (Of course, gistpenalty() should be fixed to return infinity, not just a
> randomly chosen large value, for the null-and-not-null case.)
This seems less important now that you've committed the flag for
"contains empty ranges".
However, it still sounds like a useful improvement to me.
Regards,Jeff Davis