From af164f31b9f5f00561d5831a72ab91cfe091f92e Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Wed, 15 Oct 2025 12:54:01 -0700 Subject: Add pg_iswalpha() and related functions. Per-character pg_locale_t APIs. Useful for tsearch parsing and potentially other places. Significant overlap with the regc_wc_isalpha() and related functions in regc_pg_locale.c, but this change leaves those intact for now. Discussion: https://postgr.es/m/0151ad01239e2cc7b3139644358cf8f7b9622ff7.camel@j-davis.com --- src/include/utils/pg_locale.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/include/utils/pg_locale.h') diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h index 7e83594fbaf..009f5334a87 100644 --- a/src/include/utils/pg_locale.h +++ b/src/include/utils/pg_locale.h @@ -208,6 +208,18 @@ extern size_t pg_strxfrm_prefix(char *dest, const char *src, size_t destsize, extern size_t pg_strnxfrm_prefix(char *dest, size_t destsize, const char *src, ssize_t srclen, pg_locale_t locale); +extern bool pg_iswdigit(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswalpha(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswalnum(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswupper(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswlower(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswgraph(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswprint(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswpunct(pg_wchar wc, pg_locale_t locale); +extern bool pg_iswspace(pg_wchar wc, pg_locale_t locale); +extern pg_wchar pg_towupper(pg_wchar wc, pg_locale_t locale); +extern pg_wchar pg_towlower(pg_wchar wc, pg_locale_t locale); + extern int builtin_locale_encoding(const char *locale); extern const char *builtin_validate_locale(int encoding, const char *locale); extern void icu_validate_locale(const char *loc_str); -- cgit v1.2.3