• Tom Lane's avatar
    Improve the performance of LIKE/regex estimation in non-C locales, by making · 2de946be
    Tom Lane authored
    make_greater_string() try harder to generate a string that's actually greater
    than its input string.  Before we just assumed that making a string that was
    memcmp-greater was enough, but it is easy to generate examples where this is
    not so when the locale is not C.  Instead, loop until the relevant comparison
    function agrees that the generated string is greater than the input.
    
    Unfortunately this is probably not enough to guarantee that the generated
    string is greater than all extensions of the input, so we cannot relax the
    restriction to C locale for the LIKE/regex index optimization.  But it should
    at least improve the odds of getting a useful selectivity estimate in
    prefix_selectivity().  Per example from Guillaume Smet.
    
    Backpatch to 8.1, mainly because that's what the complainant is using...
    2de946be
selfuncs.h 6.1 KB