From 50dc5a57bcd31be893071da62c4ba6b0537695cc Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Thu, 30 Oct 2025 00:52:51 +1300 Subject: [PATCH 5/8] XXX work around regc_pg_locale.c's probing logic --- src/backend/regex/regc_pg_locale.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/backend/regex/regc_pg_locale.c b/src/backend/regex/regc_pg_locale.c index e0c892db713..fdc3fac0bbe 100644 --- a/src/backend/regex/regc_pg_locale.c +++ b/src/backend/regex/regc_pg_locale.c @@ -352,7 +352,15 @@ regc_ctype_get_cache(regc_wc_probefunc probefunc, int cclasscode) pg_regex_locale->ctype->max_chr <= MAX_SIMPLE_CHR) { max_chr = pg_regex_locale->ctype->max_chr; - pcc->cv.cclasscode = -1; + + /* + * XXX TODO: don't turn off locales just because pg_locale_libc.c + * told us it's not cool to probe arbitrary pg_wchar values over + * 127! Without this, re-encoding fails at pg_wchar 0x80, which + * can't be converted back to mb (the EUC pg_wchar encoding has + * holes in it) + */ + //pcc->cv.cclasscode = -1; } else max_chr = (pg_wchar) MAX_SIMPLE_CHR; -- 2.50.1 (Apple Git-155)