Second pass at improving LIKE/regex estimation in non-C locales. It turns
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 9 Nov 2007 20:10:09 +0000 (20:10 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 9 Nov 2007 20:10:09 +0000 (20:10 +0000)
commit711a31b6d13fb219bab053ac7863d52780e7279e
tree8a3556ce1e7e3685bc8c88cbed94d9b81ae50ea3
parent0d05eb671e7110c7241a690f09380e4c80761dd5
Second pass at improving LIKE/regex estimation in non-C locales.  It turns
out that it's actually quite likely that a string that is an extension of
the given prefix will sort as larger than the "greater" string our previous
code created.  To provide some defense against that, do the comparisons
against a modified string instead of just the bare prefix.  We tack on
"Z", "z", "y", or "9", whichever is seen as largest in the current locale.
Testing suggests that this is sufficient at least for cases involving
ASCII data.
src/backend/utils/adt/selfuncs.c