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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/f413941f41d370a7893caa3e6ed384b89a0577fd
Modified Files
--------------
contrib/unaccent/expected/unaccent.out | 9 ---------
contrib/unaccent/expected/unaccent_1.out | 8 --------
contrib/unaccent/sql/unaccent.sql | 11 -----------
src/backend/tsearch/ts_locale.c | 18 ++++++------------
src/backend/tsearch/wparser_def.c | 3 +--
src/backend/utils/adt/pg_locale.c | 3 +++
src/backend/utils/init/postinit.c | 4 ++++
src/include/utils/pg_locale.h | 2 ++
8 files changed, 16 insertions(+), 42 deletions(-)