• Tom Lane's avatar
    Remove vestigial secondary-split support in gist_box_picksplit(). · dacc185f
    Tom Lane authored
    Not only is this implementation of secondary-split not better than the
    default implementation in gistsplit.c, it's actually worse.  The gistsplit.c
    code at least looks to see if switching the left and right sides would make
    a better merge with the previously-split tuples, while this doesn't.
    
    In any case it's rather useless to support secondary split only in an edge
    case.  There used to be more complete support for it here (in chooseLR()),
    but that was removed in commit 7f3bd868.
    It appears to me though that the chooseLR() code was really isomorphic to
    the default implementation, since it was still based on choosing the cheaper
    way of adding two sub-split vectors that had been chosen without regard to
    the primary split initially.  I think an implementation of secondary split
    that could beat the default implementation would have to be pretty fully
    integrated into the split algorithm, not plastered on at the end.
    
    Back-patch to 9.2, but not further; previous branches have the chooseLR()
    code which I don't feel a great need to mess with.  This is mainly so we
    just have two behaviors and not three among the various branches (IOW, this
    patch is cleanup for commit 7f3bd868's
    incomplete removal of secondary-split support).
    dacc185f
gistproc.c 38 KB