• Tom Lane's avatar
    Fix patternsel() and callers to do the right thing for NOT LIKE and the other · 95422871
    Tom Lane authored
    negated-match operators.  patternsel had been using the supplied operator as
    though it were a positive-match operator, and thus obtaining a wrong result,
    which was even more wrong after the caller subtracted it from 1.  Seems
    cleanest to give patternsel an explicit "negate" argument so that it knows
    what's going on.  Also install the same factorization scheme for pattern
    join selectivity estimators; even though they are just stubs at the
    moment, this may keep someone from making the same type of mistake when
    they get filled out.  Per report from Greg Mullane.
    
    Backpatch to 8.2 --- previous releases do not show the problem because
    patternsel() doesn't actually use the operator directly.
    95422871
selfuncs.c 148 KB