Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdGCv-00FzAH-26 for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Jan 2026 23:11:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdGCt-00Asl7-2g for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Jan 2026 23:11:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdGCt-00Asky-1A for pgsql-hackers@lists.postgresql.org; Tue, 06 Jan 2026 23:11:20 +0000 Received: from mail-dl1-x122c.google.com ([2607:f8b0:4864:20::122c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vdGCr-004ykj-1p for pgsql-hackers@postgresql.org; Tue, 06 Jan 2026 23:11:19 +0000 Received: by mail-dl1-x122c.google.com with SMTP id a92af1059eb24-11beb0a7bd6so148258c88.1 for ; Tue, 06 Jan 2026 15:11:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1767741075; x=1768345875; darn=postgresql.org; h=mime-version:user-agent:date:to:from:subject:message-id:from:to:cc :subject:date:message-id:reply-to; bh=TuyL5h5suWPNQBRBd4CGXcYJMecnO1YpBZ3+AYgxrRQ=; b=P4/NnBkEj+qF/dzq9zwkbB/FBivBvTq8Xubcs8bcduPOD0actNh+UpTAUsvpQbHtE6 C1ZEx3QdpWnnOVhLsjoQiSkqx4MbXdWjpUXjIM7d+fZHrKOLdspyXpkfr8d9iyOrvzbR hhsc9H9nVHxAu96tci8xonb6HRQNfzNQIgpF0cWGdwn13z+RbS7uSiHhNvszmpPCXQPH yUcVoFwfKVhCpLJr6ZIxGq2NL3F4Ntg1R9WAylmqVnqBT8yIS9d+kCcTVS/6/M6+LdVN Yo4Gt1pxmOvMFUJEXPG1APtHUgXGDdyJ+y9AC0/W+Gep5evIwEKcEJnPQ7CFr3Td8ibj OKJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767741075; x=1768345875; h=mime-version:user-agent:date:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TuyL5h5suWPNQBRBd4CGXcYJMecnO1YpBZ3+AYgxrRQ=; b=Sh7bpP/9FBEUZDK5tEu0YyYEhKwRVLTYBMiC+3Im6T6W/kNKh+bTjwx9BKww7BpC/D Kn+p/J4tK3qlneMj5OZDSmvSC55jzDuG6QI451uGVrJZVOVU2zJ6otlHuMbtDaBoQNMx D2YqzVe+cCqa7rfMZ7Gxu1j8t5NLw/hs8VjJm0DlK0WyL/QrIfIHiSZwzAdcC6Gi2IL5 FUcfdxEsHmvUe7m6eKvjcRwYonkQhD/UFzbGU6AClITkOpjjGllndciccQydFpTtXSdJ hrbjclNst4g5h3xdQd7xrY9jHwTSu7T63JTkAfi42WV9FIasCkHSs8M2bJAA/t4T5Xnh DINA== X-Gm-Message-State: AOJu0YxTlgr8w6jaNMnrNyl3WTQvQp+nnnu7kI+mh4o4e2EZg7KkX+yr KeigdJUSEu3SYTmgWjU3bsGgdu3MHjI1r55bIf8Lgc63cwqgklEsHMV6/+DYAaZzhLZSuMIMqXI rRns= X-Gm-Gg: AY/fxX4R/UCpC1+3lzWf3RU5JXOttCkljJBXLlXX6BxDOKj8KeYX4z+HuSGaXUZekIZ 1pxbQtwMNrDeAXHmhDgBmDAA4InqFw5bWOjSHyDY1nUNB9tkbpDkUKD0TE8jA3LD2rxSDViDx7e wDA72KL1A+gig3pkzmMMg97ai4cGXUwJjF+FkSN3UbHI22gnNUUIs5vL+0exbBLVUYDKpinU87U EXt+TnTKRYGSIDq+K0QtC9AWRuQBQGV73TEY7NUUnDj2/4h2n4bdMzGMWhcRMjvbAmQRX4MLbyW KPdXJMzkZcGHGmrF5ByUhNmf5oXrgSacszlyk3HAz1ZZsJWXWoThfz+EXtIEYADRmLiQlfjMDRI XFubsSNTJFWXxlVueilp4/zdgxkZs6MEk6SYrzn+iW0dVXjy3aIkwIQtj+W0wFZbct7KXGvG0so SF595uOKx/uIJUxvoGod5PYHHSBiCSmHpk4sj2p3uGlDA= X-Google-Smtp-Source: AGHT+IFOtsB9IqBU8EAxcZRqkxBQBc3tSlkcXOQZlXZSaH/3pXThxIcFkDc3/OCVWOYstFQrJq9XFg== X-Received: by 2002:a05:7022:11c:b0:11d:fcc9:f225 with SMTP id a92af1059eb24-121f8653d54mr714447c88.14.1767741074793; Tue, 06 Jan 2026 15:11:14 -0800 (PST) Received: from jeff-ws-bridge.lan (c-24-7-19-3.hsd1.ca.comcast.net. [24.7.19.3]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-121f24985d1sm7982258c88.16.2026.01.06.15.11.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jan 2026 15:11:14 -0800 (PST) Message-ID: <48911db71d953edec66df0d2ce303563d631fbe0.camel@j-davis.com> Subject: small cleanup of ICU includes From: Jeff Davis To: pgsql-hackers@postgresql.org Date: Tue, 06 Jan 2026 15:11:13 -0800 Content-Type: multipart/mixed; boundary="=-tuAFQz4Wvc+ayL4fmAFk" User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-tuAFQz4Wvc+ayL4fmAFk Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Removes ICU includes from pg_locale.h, and instead include them in the few C files that need them. There used to be more files that needed to use ICU functions, but after refactoring, there are only a few files that access ICU APIs directly. Regards, Jeff Davis --=-tuAFQz4Wvc+ayL4fmAFk Content-Disposition: attachment; filename="v1-0001-Clean-up-ICU-includes.patch" Content-Type: text/x-patch; name="v1-0001-Clean-up-ICU-includes.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA5NWRhNDFmYTc1ZGEzZjBlMmY3NmNhMmJkOTgzMmQ0Zjc1Zjc0MWI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDYgSmFuIDIwMjYgMTQ6MzE6MTggLTA4MDAKU3ViamVjdDogW1BBVENIIHYxXSBDbGVhbiB1 cCBJQ1UgaW5jbHVkZXMuCgpSZW1vdmUgSUNVIGluY2x1ZGVzIGZyb20gcGdfbG9jYWxlLmgsIGFu ZCBpbnN0ZWFkIGluY2x1ZGUgdGhlbSBpbiB0aGUKZmV3IEMgZmlsZXMgdGhhdCBuZWVkIElDVS4g Q2xlYW4gdXAgYSBmZXcgb3RoZXIgaW5jbHVkZXMgaW4gcGFzc2luZy4KLS0tCiBzcmMvYmFja2Vu ZC9jb21tYW5kcy9jb2xsYXRpb25jbWRzLmMgIHwgIDQgKysrKwogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L2Zvcm1hdHRpbmcuYyAgICB8ICA4IC0tLS0tLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQv cGdfbG9jYWxlLmMgICAgIHwgMTQgKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ19sb2NhbGVfaWN1LmMgfCAgMiArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmxlbmEu YyAgICAgICB8IDExICsrKysrKy0tLS0tCiBzcmMvaW5jbHVkZS91dGlscy9wZ19sb2NhbGUuaCAg ICAgICAgIHwgMTYgKysrKy0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5k cy9jb2xsYXRpb25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb2xsYXRpb25jbWRzLmMK aW5kZXggOGYzZGRkYzYxOWUuLjk4MGNjM2FjNjI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy9jb2xsYXRpb25jbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29sbGF0 aW9uY21kcy5jCkBAIC0xNCw2ICsxNCwxMCBAQAogICovCiAjaW5jbHVkZSAicG9zdGdyZXMuaCIK IAorI2lmZGVmIFVTRV9JQ1UKKyNpbmNsdWRlIDx1bmljb2RlL3Vsb2MuaD4KKyNlbmRpZgorCiAj aW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgogI2luY2x1ZGUgImFjY2Vzcy90YWJsZS5o IgogI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hZHQvZm9ybWF0dGluZy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zvcm1hdHRpbmcuYwpp bmRleCBmNWY0YTExMGUxMi4uNmFmZmRkODY2MjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9mb3JtYXR0aW5nLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zvcm1hdHRp bmcuYwpAQCAtNjgsMTcgKzY4LDkgQEAKICNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8Zmxv YXQuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNsdWRlIDx3Y3R5cGUuaD4KIAotI2lmZGVm IFVTRV9JQ1UKLSNpbmNsdWRlIDx1bmljb2RlL3VzdHJpbmcuaD4KLSNlbmRpZgotCi0jaW5jbHVk ZSAiY2F0YWxvZy9wZ19jb2xsYXRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIK ICNpbmNsdWRlICJjb21tb24vaW50LmgiCi0jaW5jbHVkZSAiY29tbW9uL3VuaWNvZGVfY2FzZS5o IgotI2luY2x1ZGUgImNvbW1vbi91bmljb2RlX2NhdGVnb3J5LmgiCiAjaW5jbHVkZSAibWIvcGdf d2NoYXIuaCIKICNpbmNsdWRlICJub2Rlcy9taXNjbm9kZXMuaCIKICNpbmNsdWRlICJwYXJzZXIv c2NhbnN1cC5oIgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5jCmluZGV4IDlhOTJmMmZjOTU5Li5h YzMyNGVjYWFkMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYwpAQCAtMzIsNiArMzIsOSBA QAogI2luY2x1ZGUgInBvc3RncmVzLmgiCiAKICNpbmNsdWRlIDx0aW1lLmg+CisjaWZkZWYgVVNF X0lDVQorI2luY2x1ZGUgPHVuaWNvZGUvdWNvbC5oPgorI2VuZGlmCiAKICNpbmNsdWRlICJhY2Nl c3MvaHR1cF9kZXRhaWxzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19jb2xsYXRpb24uaCIKQEAg LTE2NDUsNiArMTY0OCwxNyBAQCBwZ190b3dsb3dlcihwZ193Y2hhciB3YywgcGdfbG9jYWxlX3Qg bG9jYWxlKQogCQlyZXR1cm4gbG9jYWxlLT5jdHlwZS0+d2NfdG9sb3dlcih3YywgbG9jYWxlKTsK IH0KIAorLyogdmVyc2lvbiBvZiBVbmljb2RlIHVzZWQgYnkgSUNVICovCitjb25zdCBjaGFyICoK K3BnX2ljdV91bmljb2RlX3ZlcnNpb24oKQoreworI2lmZGVmIFVTRV9JQ1UKKwlyZXR1cm4gVV9V TklDT0RFX1ZFUlNJT047CisjZWxzZQorCXJldHVybiBOVUxMOworI2VuZGlmCit9CisKIC8qCiAg KiBSZXR1cm4gcmVxdWlyZWQgZW5jb2RpbmcgSUQgZm9yIHRoZSBnaXZlbiBsb2NhbGUsIG9yIC0x IGlmIGFueSBlbmNvZGluZyBpcwogICogdmFsaWQgZm9yIHRoZSBsb2NhbGUuCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlX2ljdS5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3BnX2xvY2FsZV9pY3UuYwppbmRleCA2ODQ5MTY2NjczOC4uODhmODZhYjE4YTMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGVfaWN1LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZV9pY3UuYwpAQCAtMTIsNyArMTIsOSBAQAogI2lu Y2x1ZGUgInBvc3RncmVzLmgiCiAKICNpZmRlZiBVU0VfSUNVCisjaW5jbHVkZSA8dW5pY29kZS91 Y2FzZW1hcC5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdWNudi5oPgorI2luY2x1ZGUgPHVuaWNvZGUv dWNvbC5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdXN0cmluZy5oPgogCiAvKgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmxlbmEuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92 YXJsZW5hLmMKaW5kZXggY2ZjYzM1NTkyZTMuLmM4MDE5MWYwYTIyIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdmFybGVuYS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92 YXJsZW5hLmMKQEAgLTUzODEsMTEgKzUzODEsMTIgQEAgdW5pY29kZV92ZXJzaW9uKFBHX0ZVTkNU SU9OX0FSR1MpCiBEYXR1bQogaWN1X3VuaWNvZGVfdmVyc2lvbihQR19GVU5DVElPTl9BUkdTKQog ewotI2lmZGVmIFVTRV9JQ1UKLQlQR19SRVRVUk5fVEVYVF9QKGNzdHJpbmdfdG9fdGV4dChVX1VO SUNPREVfVkVSU0lPTikpOwotI2Vsc2UKLQlQR19SRVRVUk5fTlVMTCgpOwotI2VuZGlmCisJY29u c3QgY2hhciAqdmVyc2lvbiA9IHBnX2ljdV91bmljb2RlX3ZlcnNpb24oKTsKKworCWlmICh2ZXJz aW9uKQorCQlQR19SRVRVUk5fVEVYVF9QKGNzdHJpbmdfdG9fdGV4dCh2ZXJzaW9uKSk7CisJZWxz ZQorCQlQR19SRVRVUk5fTlVMTCgpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv dXRpbHMvcGdfbG9jYWxlLmggYi9zcmMvaW5jbHVkZS91dGlscy9wZ19sb2NhbGUuaAppbmRleCA0 NjVmMTcwYmE3OS4uNDQ0MzUwYmI4MDMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL3Bn X2xvY2FsZS5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL3BnX2xvY2FsZS5oCkBAIC0xNCwxNiAr MTQsNiBAQAogCiAjaW5jbHVkZSAibWIvcGdfd2NoYXIuaCIKIAotI2lmZGVmIFVTRV9JQ1UKLS8q IG9ubHkgaW5jbHVkZSB0aGUgQyBBUElzLCB0byBhdm9pZCBlcnJvcnMgaW4gY3BsdXNwbHVzY2hl Y2sgKi8KLSN1bmRlZiBVX1NIT1dfQ1BMVVNQTFVTX0FQSQotI2RlZmluZSBVX1NIT1dfQ1BMVVNQ TFVTX0FQSSAwCi0jdW5kZWYgVV9TSE9XX0NQTFVTUExVU19IRUFERVJfQVBJCi0jZGVmaW5lIFVf U0hPV19DUExVU1BMVVNfSEVBREVSX0FQSSAwCi0jaW5jbHVkZSA8dW5pY29kZS91Y29sLmg+Ci0j aW5jbHVkZSA8dW5pY29kZS91Y2FzZW1hcC5oPgotI2VuZGlmCi0KIC8qIHVzZSBmb3IgbGliYyBs b2NhbGUgbmFtZXMgKi8KICNkZWZpbmUgTE9DQUxFX05BTUVfQlVGTEVOIDEyOAogCkBAIC0xNjcs OSArMTU3LDkgQEAgc3RydWN0IHBnX2xvY2FsZV9zdHJ1Y3QKIAkJc3RydWN0CiAJCXsKIAkJCWNv bnN0IGNoYXIgKmxvY2FsZTsKLQkJCVVDb2xsYXRvciAgKnVjb2w7CisJCQlzdHJ1Y3QgVUNvbGxh dG9yICp1Y29sOworCQkJc3RydWN0IFVDYXNlTWFwICp1Y2FzZW1hcDsKIAkJCWxvY2FsZV90CWx0 OwotCQkJVUNhc2VNYXAgICAqdWNhc2VtYXA7CiAJCX0JCQlpY3U7CiAjZW5kaWYKIAl9OwpAQCAt MjIzLDYgKzIxMyw4IEBAIGV4dGVybiBib29sIHBnX2lzd2Nhc2VkKHBnX3djaGFyIHdjLCBwZ19s b2NhbGVfdCBsb2NhbGUpOwogZXh0ZXJuIHBnX3djaGFyIHBnX3Rvd3VwcGVyKHBnX3djaGFyIHdj LCBwZ19sb2NhbGVfdCBsb2NhbGUpOwogZXh0ZXJuIHBnX3djaGFyIHBnX3Rvd2xvd2VyKHBnX3dj aGFyIHdjLCBwZ19sb2NhbGVfdCBsb2NhbGUpOwogCitleHRlcm4gY29uc3QgY2hhciAqcGdfaWN1 X3VuaWNvZGVfdmVyc2lvbih2b2lkKTsKKwogZXh0ZXJuIGludAlidWlsdGluX2xvY2FsZV9lbmNv ZGluZyhjb25zdCBjaGFyICpsb2NhbGUpOwogZXh0ZXJuIGNvbnN0IGNoYXIgKmJ1aWx0aW5fdmFs aWRhdGVfbG9jYWxlKGludCBlbmNvZGluZywgY29uc3QgY2hhciAqbG9jYWxlKTsKIGV4dGVybiB2 b2lkIGljdV92YWxpZGF0ZV9sb2NhbGUoY29uc3QgY2hhciAqbG9jX3N0cik7Ci0tIAoyLjQzLjAK Cg== --=-tuAFQz4Wvc+ayL4fmAFk--