• Tom Lane's avatar
    Modify prefix_selectivity() so that it will never estimate the selectivity · 422495d0
    Tom Lane authored
    of the generated range condition var >= 'foo' AND var < 'fop' as being less
    than what eqsel() would estimate for var = 'foo'.  This is intuitively
    reasonable and it gets rid of the need for some entirely ad-hoc coding we
    formerly used to reject bogus estimates.  The basic problem here is that
    if the prefix is more than a few characters long, the two boundary values
    are too close together to be distinguishable by comparison to the column
    histogram, resulting in a selectivity estimate of zero, which is often
    not very sane.  Change motivated by an example from Peter Eisentraut.
    
    Arguably this is a bug fix, but I'll refrain from back-patching it
    for the moment.
    422495d0
selfuncs.c 156 KB