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(-)
