Robert Haas <robertmhaas@gmail.com> writes:
> I noticed all that, but didn't feel like putting in the effort to make
> it better. I would have been happy to have someone else pick up the
> patch, but as it had been languishing I thought it would be better to
> get it committed more or less as it was than to wait for someone to
> have time to make it beautiful. If you want to hack on it more that's
> fine with me. I kind of wonder if we ought to rename the variables,
> and maybe turn sum_grow into a boolean. But I'm not really eager to
> go crazy if this is something we have to back-patch.
Yeah, the idea of replacing sum_grow with a boolean just occurred to me
too. As is, I think the code is making some less-than-portable
assumptions about what will happen if sum_grow overflows; which can
definitely happen, seeing that gistpenalty and its callees intentionally
return infinity in some cases. I'd rather it didn't attempt to add
column penalties together, and I think there's a case to be made that
not doing so is a back-patchable bug fix.
I'll take a shot at improving this some more.
regards, tom lane