diff options
Diffstat (limited to 'src/include/utils')
| -rw-r--r-- | src/include/utils/pg_locale.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h index a533463d5b7..86016b9344e 100644 --- a/src/include/utils/pg_locale.h +++ b/src/include/utils/pg_locale.h @@ -38,7 +38,7 @@ * https://www.unicode.org/versions/Unicode16.0.0/core-spec/chapter-5/#G29675 */ #define UNICODE_CASEMAP_LEN 3 -#define UNICODE_CASEMAP_BUFSZ (UNICODE_CASEMAP_LEN * sizeof(char32_t)) +#define UNICODE_CASEMAP_BUFSZ (UNICODE_CASEMAP_LEN * MAX_MULTIBYTE_CHAR_LEN) /* GUC settings */ extern PGDLLIMPORT char *locale_messages; @@ -110,6 +110,9 @@ struct ctype_methods size_t (*strfold) (char *dest, size_t destsize, const char *src, ssize_t srclen, pg_locale_t locale); + size_t (*downcase_ident) (char *dest, size_t destsize, + const char *src, ssize_t srclen, + pg_locale_t locale); /* required */ bool (*wc_isdigit) (pg_wchar wc, pg_locale_t locale); @@ -164,6 +167,7 @@ struct pg_locale_struct { const char *locale; UCollator *ucol; + locale_t lt; } icu; #endif }; @@ -187,6 +191,8 @@ extern size_t pg_strupper(char *dst, size_t dstsize, extern size_t pg_strfold(char *dst, size_t dstsize, const char *src, ssize_t srclen, pg_locale_t locale); +extern size_t pg_downcase_ident(char *dst, size_t dstsize, + const char *src, ssize_t srclen); extern int pg_strcoll(const char *arg1, const char *arg2, pg_locale_t locale); extern int pg_strncoll(const char *arg1, ssize_t len1, const char *arg2, ssize_t len2, pg_locale_t locale); |
