Fix t_isspace(), etc., when datlocprovider=i and datctype=C.
authorJeff Davis <jdavis@postgresql.org>
Fri, 17 Mar 2023 18:47:35 +0000 (11:47 -0700)
committerJeff Davis <jdavis@postgresql.org>
Fri, 17 Mar 2023 19:08:46 +0000 (12:08 -0700)
commitf413941f41d370a7893caa3e6ed384b89a0577fd
tree05a69d2b5ddd453939f3a5346c525fc51ec304ba
parent064709f803c05559d2849a62fdb855fbb91ffeb8
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
contrib/unaccent/expected/unaccent.out
contrib/unaccent/expected/unaccent_1.out [deleted file]
contrib/unaccent/sql/unaccent.sql
src/backend/tsearch/ts_locale.c
src/backend/tsearch/wparser_def.c
src/backend/utils/adt/pg_locale.c
src/backend/utils/init/postinit.c
src/include/utils/pg_locale.h