All supported systems have locale_t.
Thomas Munro <tmunro@postgresql.org>
All supported systems have locale_t. locale_t is defined by POSIX.1-2008 and SUSv4, and available on all targeted systems. For Windows, win32_port.h redirects to a partial implementation called _locale_t. We can now remove a lot of compile-time tests for HAVE_LOCALE_T, and associated comments and dead code branches that were needed for older computers. Since configure + MinGW builds didn't detect locale_t but now we assume that all systems have it, further inconsistencies among the 3 Windows build systems were revealed. With this commit, we no longer define HAVE_WCSTOMBS_L and HAVE_MBSTOWCS_L on any Windows build system, but we have logic to deal with that so that replacements are available where appropriate. Reviewed-by: Noah Misch <noah@leadboat.com> Reviewed-by: Tristan Partin <tristan@neon.tech> Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/CA%2BhUKGLg7_T2GKwZFAkEf0V7vbnur-NfCjZPKZb%3DZfAXSV1ORw%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| config/c-library.m4 | modified | +3 −7 |
| configure | modified | +0 −5 |
| meson.build | modified | +6 −17 |
| src/backend/commands/collationcmds.c | modified | +1 −1 |
| src/backend/regex/regc_pg_locale.c | modified | +1 −51 |
| src/backend/utils/adt/formatting.c | modified | +0 −18 |
| src/backend/utils/adt/like.c | modified | +0 −2 |
| src/backend/utils/adt/like_support.c | modified | +0 −2 |
| src/backend/utils/adt/pg_locale.c | modified | +32 −54 |
| src/include/pg_config.h.in | modified | +0 −3 |
| src/include/utils/pg_locale.h | modified | +1 −6 |
| src/tools/msvc/Solution.pm | modified | +2 −3 |
Discussion
- check_strxfrm_bug() 33 messages · 2022-12-15 → 2023-07-10