Thread: pgsql: Fix t_isspace(), etc., when datlocprovider=i and datctype=C.

pgsql: Fix t_isspace(), etc., when datlocprovider=i and datctype=C.

From
Jeff Davis
Date:
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(-)