Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qAAml-000125-FL for pgsql-hackers@arkaria.postgresql.org; Fri, 16 Jun 2023 14:50:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qAAmk-0007vb-Dm for pgsql-hackers@arkaria.postgresql.org; Fri, 16 Jun 2023 14:50:46 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qAAmj-0007vR-F8 for pgsql-hackers@lists.postgresql.org; Fri, 16 Jun 2023 14:50:46 +0000 Received: from new3-smtp.messagingengine.com ([66.111.4.229]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qAAme-002oFZ-GB for pgsql-hackers@lists.postgresql.org; Fri, 16 Jun 2023 14:50:44 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.nyi.internal (Postfix) with ESMTP id 1AC5358086D; Fri, 16 Jun 2023 10:50:38 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Fri, 16 Jun 2023 10:50:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1686927038; x=1686934238; bh=EyvOBduod0e4u LqfGUnfXYl6qcB6pMHxKw6/vRRRWjU=; b=B0XzNh4xj6b4UtFUkTd/x3MiVYZDg BW1LMElaA2sduD7ome0iZo4guKoP9YvCfEZ6MFbh19AX2GHIaL26Mv1FyW9S7Mmh yudTV8sGGIpjHhYHfhVHRgbtcnx+r/MkEiWtlAdJTXgeBRhrzaIiB1Q9oDaTqeG1 vZ7IWld7DJ03BpULTGwBkzfKlCUHE6P7EtMHDXeqnW+HWfg7LlZBPezlpuN5mqxu xQycPBGpnb7rtNRUZA4H9DxNTbDdS2rGnwNcHmNYFmQw9Flf60Lkx99GpI0FPgAn JYMx+9NNQGIMQyRYpqCWFz4OZ9thi6NHwbYbbsQHJvycuiProJM++uwXg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgedvgedgkeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvg hrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepuedtkeehueehtddvgfff heelteefhfeifeduiedtffeitdeludejhfejudefffffnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhht segvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 16 Jun 2023 10:50:36 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------TJjgvZt4KhkQYXc0HVOHStFn" Message-ID: <1a63084d-221e-4075-619e-6b3e590f673e@enterprisedb.com> Date: Fri, 16 Jun 2023 16:50:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: Order changes in PG16 since ICU introduction Content-Language: en-US To: Jeff Davis , Andrew Gierth , Joe Conway Cc: Tom Lane , Robert Haas , Daniel Verite , pgsql-hackers@lists.postgresql.org References: <45f0cd77-9c85-4c5e-9396-adbccdb635e2@manitou-mail.org> <221408.1686079526@sss.pgh.pa.us> <225170.1686081345@sss.pgh.pa.us> <531936a9-31cb-9734-5a66-7c210133cc1b@joeconway.com> <87sfb4gwgv.fsf@news-spur.riddles.org.uk> <73f97db9a37fd281bd5077ce16383cd8006b1f59.camel@j-davis.com> <78ac19e5-c5c3-c739-3080-ad7ef604df8d@enterprisedb.com> <0bc3c34bf9f60f4f10ce048146b6728c12a9d4a1.camel@j-davis.com> From: Peter Eisentraut In-Reply-To: <0bc3c34bf9f60f4f10ce048146b6728c12a9d4a1.camel@j-davis.com> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------TJjgvZt4KhkQYXc0HVOHStFn Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 14.06.23 23:24, Jeff Davis wrote: > On Mon, 2023-06-12 at 23:04 +0200, Peter Eisentraut wrote: >>> Patch 0003: >>> >>> Makes LOCALE apply to all providers. The overall feel after this >>> patch >>> is that "locale" now means the collation locale, and >>> LC_COLLATE/LC_CTYPE are for the server environment. When using >>> libc, >>> LC_COLLATE and LC_CTYPE still work as they did before, but their >>> relationship to database collation feels more like a special case >>> of >>> the libc provider. I believe most people favor this patch and I >>> haven't >>> seen recent objections. >> >> This seems reasonable. > > Attached a clean patch for this. > > It seems to have widespread agreement so I plan to commit to v16 soon. > > To clarify, this affects both initdb and CREATE DATABASE. This looks good to me. Attached is small fixup patch with some documentation tweaks and simplifying some test code (also includes pgperltidy). --------------TJjgvZt4KhkQYXc0HVOHStFn Content-Type: text/plain; charset=UTF-8; name="0001-fixup-CREATE-DATABASE-make-LOCALE-apply-to-all-colla.patch" Content-Disposition: attachment; filename*0="0001-fixup-CREATE-DATABASE-make-LOCALE-apply-to-all-colla.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwY2QyMTU0ZjM2NDk5OTA5MWFiYTUyMTM2YTEzOWRmNzVmNThkMWI3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogRnJpLCAxNiBKdW4gMjAyMyAxNjo0NjozNiArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIGZpeHVwISBDUkVBVEUgREFUQUJBU0U6IG1ha2UgTE9DQUxFIGFwcGx5IHRv IGFsbCBjb2xsYXRpb24KIHByb3ZpZGVycy4KCi0tLQogZG9jL3NyYy9zZ21sL3JlZi9jcmVh dGVfZGF0YWJhc2Uuc2dtbCB8IDEyICsrKysrKy0tLS0tLQogc3JjL3Rlc3QvaWN1L3QvMDEw X2RhdGFiYXNlLnBsICAgICAgICB8IDIzICsrKysrKysrKysrKystLS0tLS0tLS0tCiAyIGZp bGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX2RhdGFiYXNlLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvcmVmL2NyZWF0ZV9kYXRhYmFzZS5zZ21sCmluZGV4IGRhYjA1OTUwZWQuLmIyYzhh ZWYxYWQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX2RhdGFiYXNlLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfZGF0YWJhc2Uuc2dtbApAQCAtMTQ3 LDkgKzE0Nyw5IEBAIDx0aXRsZT5QYXJhbWV0ZXJzPC90aXRsZT4KICAgICAgICA8cGFyYT4K ICAgICAgICAgU2V0cyB0aGUgZGVmYXVsdCBjb2xsYXRpb24gb3JkZXIgYW5kIGNoYXJhY3Rl ciBjbGFzc2lmaWNhdGlvbiBpbiB0aGUKICAgICAgICAgbmV3IGRhdGFiYXNlLiAgQ29sbGF0 aW9uIGFmZmVjdHMgdGhlIHNvcnQgb3JkZXIgYXBwbGllZCB0byBzdHJpbmdzLAotICAgICAg ICBlLmcuLCBpbiBxdWVyaWVzIHdpdGggT1JERVIgQlksIGFzIHdlbGwgYXMgdGhlIG9yZGVy IHVzZWQgaW4gaW5kZXhlcworICAgICAgICBlLmcuLCBpbiBxdWVyaWVzIHdpdGggPGxpdGVy YWw+T1JERVIgQlk8L2xpdGVyYWw+LCBhcyB3ZWxsIGFzIHRoZSBvcmRlciB1c2VkIGluIGlu ZGV4ZXMKICAgICAgICAgb24gdGV4dCBjb2x1bW5zLiAgQ2hhcmFjdGVyIGNsYXNzaWZpY2F0 aW9uIGFmZmVjdHMgdGhlIGNhdGVnb3JpemF0aW9uCi0gICAgICAgIG9mIGNoYXJhY3RlcnMs IGUuZy4sIGxvd2VyLCAtIHVwcGVyIGFuZCBkaWdpdC4gIEFsc28gc2V0cyB0aGUKKyAgICAg ICAgb2YgY2hhcmFjdGVycywgZS5nLiwgbG93ZXIsIHVwcGVyLCBhbmQgZGlnaXQuICBBbHNv IHNldHMgdGhlCiAgICAgICAgIGFzc29jaWF0ZWQgYXNwZWN0cyBvZiB0aGUgb3BlcmF0aW5n IHN5c3RlbSBlbnZpcm9ubWVudCwKICAgICAgICAgPGxpdGVyYWw+TENfQ09MTEFURTwvbGl0 ZXJhbD4gYW5kIDxsaXRlcmFsPkxDX0NUWVBFPC9saXRlcmFsPi4gIFRoZQogICAgICAgICBk ZWZhdWx0IGlzIHRoZSBzYW1lIHNldHRpbmcgYXMgdGhlIHRlbXBsYXRlIGRhdGFiYXNlLiAg U2VlIDx4cmVmCkBAIC0xODAsNyArMTgwLDcgQEAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxl PgogICAgICAgIDxwYXJhPgogICAgICAgICBTZXRzIDxsaXRlcmFsPkxDX0NPTExBVEU8L2xp dGVyYWw+IGluIHRoZSBkYXRhYmFzZSBzZXJ2ZXIncyBvcGVyYXRpbmcKICAgICAgICAgc3lz dGVtIGVudmlyb25tZW50LiAgVGhlIGRlZmF1bHQgaXMgdGhlIHNldHRpbmcgb2YgPHhyZWYK LSAgICAgICAgbGlua2VuZD0iY3JlYXRlLWRhdGFiYXNlLWxvY2FsZSIvPiBpZiBzcGVjaWZp ZWQ7IG90aGVyd2lzZSB0aGUgc2FtZQorICAgICAgICBsaW5rZW5kPSJjcmVhdGUtZGF0YWJh c2UtbG9jYWxlIi8+IGlmIHNwZWNpZmllZCwgb3RoZXJ3aXNlIHRoZSBzYW1lCiAgICAgICAg IHNldHRpbmcgYXMgdGhlIHRlbXBsYXRlIGRhdGFiYXNlLiAgU2VlIGJlbG93IGZvciBhZGRp dGlvbmFsCiAgICAgICAgIHJlc3RyaWN0aW9ucy4KICAgICAgICA8L3BhcmE+CkBAIC0xOTgs NyArMTk4LDcgQEAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxlPgogICAgICAgIDxwYXJhPgog ICAgICAgICBTZXRzIDxsaXRlcmFsPkxDX0NUWVBFPC9saXRlcmFsPiBpbiB0aGUgZGF0YWJh c2Ugc2VydmVyJ3Mgb3BlcmF0aW5nCiAgICAgICAgIHN5c3RlbSBlbnZpcm9ubWVudC4gIFRo ZSBkZWZhdWx0IGlzIHRoZSBzZXR0aW5nIG9mIDx4cmVmCi0gICAgICAgIGxpbmtlbmQ9ImNy ZWF0ZS1kYXRhYmFzZS1sb2NhbGUiLz4gaWYgc3BlY2lmaWVkOyBvdGhlcndpc2UgdGhlIHNh bWUKKyAgICAgICAgbGlua2VuZD0iY3JlYXRlLWRhdGFiYXNlLWxvY2FsZSIvPiBpZiBzcGVj aWZpZWQsIG90aGVyd2lzZSB0aGUgc2FtZQogICAgICAgICBzZXR0aW5nIGFzIHRoZSB0ZW1w bGF0ZSBkYXRhYmFzZS4gIFNlZSBiZWxvdyBmb3IgYWRkaXRpb25hbAogICAgICAgICByZXN0 cmljdGlvbnMuCiAgICAgICAgPC9wYXJhPgpAQCAtMjE4LDggKzIxOCw4IEBAIDx0aXRsZT5Q YXJhbWV0ZXJzPC90aXRsZT4KICAgICAgICAgU3BlY2lmaWVzIHRoZSBJQ1UgbG9jYWxlIChz ZWUgPHhyZWYKICAgICAgICAgbGlua2VuZD0iY29sbGF0aW9uLW1hbmFnaW5nLWNyZWF0ZS1p Y3UiLz4pIGZvciB0aGUgZGF0YWJhc2UgZGVmYXVsdAogICAgICAgICBjb2xsYXRpb24gb3Jk ZXIgYW5kIGNoYXJhY3RlciBjbGFzc2lmaWNhdGlvbiwgb3ZlcnJpZGluZyB0aGUgc2V0dGlu ZwotICAgICAgICA8eHJlZiBsaW5rZW5kPSJjcmVhdGUtZGF0YWJhc2UtbG9jYWxlIi8+LiAg VGhlIDx4cmVmCi0gICAgICAgIGxpbmtlbmQ9ImNyZWF0ZS1kYXRhYmFzZS1sb2NhbGUtcHJv dmlkZXIiLz4gbXVzdCBiZSBJQ1UuICBUaGUgZGVmYXVsdAorICAgICAgICA8eHJlZiBsaW5r ZW5kPSJjcmVhdGUtZGF0YWJhc2UtbG9jYWxlIi8+LiAgVGhlIDxsaW5rCisgICAgICAgIGxp bmtlbmQ9ImNyZWF0ZS1kYXRhYmFzZS1sb2NhbGUtcHJvdmlkZXIiPmxvY2FsZSBwcm92aWRl cjwvbGluaz4gbXVzdCBiZSBJQ1UuICBUaGUgZGVmYXVsdAogICAgICAgICBpcyB0aGUgc2V0 dGluZyBvZiA8eHJlZiBsaW5rZW5kPSJjcmVhdGUtZGF0YWJhc2UtbG9jYWxlIi8+IGlmCiAg ICAgICAgIHNwZWNpZmllZDsgb3RoZXJ3aXNlIHRoZSBzYW1lIHNldHRpbmcgYXMgdGhlIHRl bXBsYXRlIGRhdGFiYXNlLgogICAgICAgIDwvcGFyYT4KZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L2ljdS90LzAxMF9kYXRhYmFzZS5wbCBiL3NyYy90ZXN0L2ljdS90LzAxMF9kYXRhYmFzZS5w bAppbmRleCBiNDE3YjFhNDA5Li5jYmU1NDY3ZjNjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9p Y3UvdC8wMTBfZGF0YWJhc2UucGwKKysrIGIvc3JjL3Rlc3QvaWN1L3QvMDEwX2RhdGFiYXNl LnBsCkBAIC01MiwyNyArNTIsMzAgQEAKIAogCiAjIFRlc3QgdGhhdCBMT0NBTEU9J0MnIHdv cmtzIGZvciBJQ1UKLW15ICRyZXQxID0gJG5vZGUxLT5wc3FsKCdwb3N0Z3JlcycsCi0JcXtD UkVBVEUgREFUQUJBU0UgZGJpY3UxIExPQ0FMRV9QUk9WSURFUiBpY3UgTE9DQUxFICdDJyBU RU1QTEFURSB0ZW1wbGF0ZTAgRU5DT0RJTkcgVVRGOH0KLSk7Ci1pcygkcmV0MSwgMCwKK2lz KCAkbm9kZTEtPnBzcWwoCisJCSdwb3N0Z3JlcycsCisJCXF7Q1JFQVRFIERBVEFCQVNFIGRi aWN1MSBMT0NBTEVfUFJPVklERVIgaWN1IExPQ0FMRSAnQycgVEVNUExBVEUgdGVtcGxhdGUw IEVOQ09ESU5HIFVURjh9CisJKSwKKwkwLAogCSJDIGxvY2FsZSB3b3JrcyBmb3IgSUNVIik7 CiAKICMgVGVzdCB0aGF0IExPQ0FMRSB3b3JrcyBmb3IgSUNVIGxvY2FsZXMgaWYgTENfQ09M TEFURSBhbmQgTENfQ1RZUEUKICMgYXJlIHNwZWNpZmllZAotbXkgJHJldDIgPSAkbm9kZTEt PnBzcWwoJ3Bvc3RncmVzJywKLQlxe0NSRUFURSBEQVRBQkFTRSBkYmljdTIgTE9DQUxFX1BS T1ZJREVSIGljdSBMT0NBTEUgJ0Bjb2xTdHJlbmd0aD1wcmltYXJ5JworaXMoICRub2RlMS0+ cHNxbCgKKwkJJ3Bvc3RncmVzJywKKwkJcXtDUkVBVEUgREFUQUJBU0UgZGJpY3UyIExPQ0FM RV9QUk9WSURFUiBpY3UgTE9DQUxFICdAY29sU3RyZW5ndGg9cHJpbWFyeScKICAgICAgIExD X0NPTExBVEU9J0MnIExDX0NUWVBFPSdDJyBURU1QTEFURSB0ZW1wbGF0ZTAgRU5DT0RJTkcg VVRGOH0KLSk7Ci1pcygkcmV0MiwgMCwKKwkpLAorCTAsCiAJIkxPQ0FMRSB3b3JrcyBmb3Ig SUNVIGxvY2FsZXMgaWYgTENfQ09MTEFURSBhbmQgTENfQ1RZUEUgYXJlIHNwZWNpZmllZCIp OwogCiAjIFRlc3QgdGhhdCBJQ1Utc3BlY2lmaWMgTE9DQUxFIHdpdGhvdXQgTENfQ09MTEFU RSBhbmQgTENfQ1RZUEUgbXVzdAogIyBiZSBzcGVjaWZpZWQgd2l0aCBJQ1VfTE9DQUxFCi1t eSAoJHJldDMsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGUxLT5wc3FsKCdwb3N0Z3Jlcycs CitteSAoJHJldCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZTEtPnBzcWwoCisJJ3Bvc3Rn cmVzJywKIAlxe0NSRUFURSBEQVRBQkFTRSBkYmljdTMgTE9DQUxFX1BST1ZJREVSIGljdSBM T0NBTEUgJ0Bjb2xTdHJlbmd0aD1wcmltYXJ5JwogICAgICAgVEVNUExBVEUgdGVtcGxhdGUw IEVOQ09ESU5HIFVURjh9KTsKLWlzbnQoJHJldDMsIDAsCitpc250KCRyZXQsIDAsCiAJIklD VS1zcGVjaWZpYyBsb2NhbGUgbXVzdCBiZSBzcGVjaWZpZWQgd2l0aCBJQ1VfTE9DQUxFOiBl eGl0IGNvZGUgbm90IDAiKTsKIGxpa2UoCiAJJHN0ZGVyciwKLS0gCjIuNDEuMAoK --------------TJjgvZt4KhkQYXc0HVOHStFn--