v7-0008-Don-t-include-ICU-headers-in-pg_locale.h.patch
text/x-patch
Filename: v7-0008-Don-t-include-ICU-headers-in-pg_locale.h.patch
Type: text/x-patch
Part: 8
Patch
Format: format-patch
Series: patch v7-0008
Subject: Don't include ICU headers in pg_locale.h.
| File | + | − |
|---|---|---|
| src/backend/commands/collationcmds.c | 4 | 0 |
| src/backend/utils/adt/formatting.c | 0 | 4 |
| src/backend/utils/adt/pg_locale.c | 4 | 0 |
| src/backend/utils/adt/pg_locale_icu.c | 13 | 0 |
| src/backend/utils/adt/varlena.c | 4 | 0 |
| src/include/utils/pg_locale.h | 0 | 17 |
From 0a0408b1ad3cac29033bd8c13c0ac3563e4c01a9 Mon Sep 17 00:00:00 2001 From: Jeff Davis <jeff@j-davis.com> Date: Wed, 9 Oct 2024 10:00:58 -0700 Subject: [PATCH v7 8/9] Don't include ICU headers in pg_locale.h. --- src/backend/commands/collationcmds.c | 4 ++++ src/backend/utils/adt/formatting.c | 4 ---- src/backend/utils/adt/pg_locale.c | 4 ++++ src/backend/utils/adt/pg_locale_icu.c | 13 +++++++++++++ src/backend/utils/adt/varlena.c | 4 ++++ src/include/utils/pg_locale.h | 17 ----------------- 6 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c index 53b6a479aa..afc2330f51 100644 --- a/src/backend/commands/collationcmds.c +++ b/src/backend/commands/collationcmds.c @@ -14,6 +14,10 @@ */ #include "postgres.h" +#ifdef USE_ICU +#include <unicode/ucol.h> +#endif + #include "access/htup_details.h" #include "access/table.h" #include "access/xact.h" diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c index 6a0571f93e..387009a4a9 100644 --- a/src/backend/utils/adt/formatting.c +++ b/src/backend/utils/adt/formatting.c @@ -71,10 +71,6 @@ #include <limits.h> #include <wctype.h> -#ifdef USE_ICU -#include <unicode/ustring.h> -#endif - #include "catalog/pg_collation.h" #include "catalog/pg_type.h" #include "common/unicode_case.h" diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index 55b103d4dc..c4cf0e05e5 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -54,6 +54,10 @@ #include <time.h> +#ifdef USE_ICU +#include <unicode/ucol.h> +#endif + #include "access/htup_details.h" #include "catalog/pg_collation.h" #include "catalog/pg_database.h" diff --git a/src/backend/utils/adt/pg_locale_icu.c b/src/backend/utils/adt/pg_locale_icu.c index 72e7b60e1c..61019110fb 100644 --- a/src/backend/utils/adt/pg_locale_icu.c +++ b/src/backend/utils/adt/pg_locale_icu.c @@ -13,7 +13,20 @@ #ifdef USE_ICU #include <unicode/ucnv.h> +#include <unicode/ucol.h> #include <unicode/ustring.h> + +/* + * ucol_strcollUTF8() was introduced in ICU 50, but it is buggy before ICU 53. + * (see + * <https://www.postgresql.org/message-id/flat/f1438ec6-22aa-4029-9a3b-26f79d330e72%40manitou-mail.org>) + */ +#if U_ICU_VERSION_MAJOR_NUM >= 53 +#define HAVE_UCOL_STRCOLLUTF8 1 +#else +#undef HAVE_UCOL_STRCOLLUTF8 +#endif + #endif #include "access/htup_details.h" diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index 533bebc1c7..37b3506f06 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -17,6 +17,10 @@ #include <ctype.h> #include <limits.h> +#ifdef USE_ICU +#include <unicode/uchar.h> +#endif + #include "access/detoast.h" #include "access/toast_compression.h" #include "catalog/pg_collation.h" diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h index e8a6e0d364..cbc045f126 100644 --- a/src/include/utils/pg_locale.h +++ b/src/include/utils/pg_locale.h @@ -14,10 +14,6 @@ #include "mb/pg_wchar.h" -#ifdef USE_ICU -#include <unicode/ucol.h> -#endif - /* * Character properties for regular expressions. */ @@ -31,19 +27,6 @@ #define PG_ISPUNCT 0x40 #define PG_ISSPACE 0x80 -#ifdef USE_ICU -/* - * ucol_strcollUTF8() was introduced in ICU 50, but it is buggy before ICU 53. - * (see - * <https://www.postgresql.org/message-id/flat/f1438ec6-22aa-4029-9a3b-26f79d330e72%40manitou-mail.org>) - */ -#if U_ICU_VERSION_MAJOR_NUM >= 53 -#define HAVE_UCOL_STRCOLLUTF8 1 -#else -#undef HAVE_UCOL_STRCOLLUTF8 -#endif -#endif - /* use for libc locale names */ #define LOCALE_NAME_BUFLEN 128 -- 2.45.2