Revert 87b2968df0 and 0a90df58cf.

Those changes were intended to avoid dependencies on the global libc
locale settings by basing identifier casefolding on the default
locale.  They introduced an unintentional behavior difference for the
builtin provider with locale C and a single-byte encoding.

Instead of fixing that edge case, just revert the changes.  The
identifier casefolding behavior has always been based on the global
libc locale, and clients make an effort to use the same rules.  Until
we have a plan to change that, provider-specific identifier
casefolding doesn't make sense.

Reported-by: Noah Misch <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/c58566d06f964166370e93f1bc8444a534bd0bd2

Modified Files
--------------
src/backend/parser/scansup.c              | 36 ++++++++++-----
src/backend/utils/adt/pg_locale.c         | 24 ----------
src/backend/utils/adt/pg_locale_builtin.c |  2 -
src/backend/utils/adt/pg_locale_icu.c     | 76 +------------------------------
src/backend/utils/adt/pg_locale_libc.c    | 33 --------------
src/include/utils/pg_locale.h             |  8 ----
6 files changed, 25 insertions(+), 154 deletions(-)

Reply via email to