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
------
master

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

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