Fix t_isspace(), etc., when datlocprovider=i and datctype=C.
Jeff Davis <jdavis@postgresql.org>
Fix t_isspace(), etc., when datlocprovider=i and datctype=C. Check whether the datctype is C to determine whether t_isspace() and related functions use isspace() or iswspace(). Previously, t_isspace() checked whether the database default collation was C; which is incorrect when the default collation uses the ICU provider. Discussion: https://postgr.es/m/79e4354d9eccfdb00483146a6b9f6295202e7890.camel@j-davis.com Reviewed-by: Peter Eisentraut Backpatch-through: 15
Files
| Path | Change | +/− |
|---|---|---|
| contrib/unaccent/expected/unaccent_1.out | deleted | +0 −8 |
| contrib/unaccent/expected/unaccent.out | modified | +0 −9 |
| contrib/unaccent/sql/unaccent.sql | modified | +0 −11 |
| src/backend/tsearch/ts_locale.c | modified | +6 −12 |
| src/backend/tsearch/wparser_def.c | modified | +1 −2 |
| src/backend/utils/adt/pg_locale.c | modified | +3 −0 |
| src/backend/utils/init/postinit.c | modified | +4 −0 |
| src/include/utils/pg_locale.h | modified | +2 −0 |
Discussion
- unaccent fails when datlocprovider=i and datctype=C 2 messages · 2023-03-08 → 2023-03-10