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