selfuncs.c: use pg_strxfrm() instead of strxfrm().
Jeff Davis <jdavis@postgresql.org>
selfuncs.c: use pg_strxfrm() instead of strxfrm(). pg_strxfrm() takes a pg_locale_t, so it works properly with all providers. This improves estimates for ICU when performing linear interpolation within a histogram bin. Previously, convert_string_datum() always used strxfrm() and relied on setlocale(). That did not produce good estimates for non-default or non-libc collations. Discussion: https://postgr.es/m/89475ee5487d795124f4e25118ea8f1853edb8cb.camel@j-davis.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/pg_locale.c | modified | +16 −7 |
| src/backend/utils/adt/selfuncs.c | modified | +9 −4 |
Discussion
- tiny step toward threading: reduce dependence on setlocale() 33 messages · 2024-06-06 → 2025-10-28