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.94.2) (envelope-from ) id 1rkmEW-00FGVy-6j for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Mar 2024 14:39:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rkmEU-000jN0-Pk for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Mar 2024 14:38:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rkmEU-000jL0-FR for pgsql-hackers@lists.postgresql.org; Thu, 14 Mar 2024 14:38:58 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rkmEQ-004TnZ-VU for pgsql-hackers@postgresql.org; Thu, 14 Mar 2024 14:38:57 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 942505C0085; Thu, 14 Mar 2024 10:38:55 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 14 Mar 2024 10:38:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm3; t=1710427135; x=1710513535; bh=p6t2wbhIQGerfNqaOG/N/EKR1/AktXrS oGniO0K5AEc=; b=mW6Hk7w0mHv6lpc3qPKwlEAo/MACETFg6xiLubxAMHiv1Rct Xxe0YdABeQ8iQojHglrNH/PjTFyb9iFL9I0CWYW9TwaVVp1d+pL7YzRtWPWviHR1 XFWMOKeuBy9cHpPHgx9hrt6UMQ9YcpSCNIf1IN3i8aI1QTJlr4it9qw8Ryzzz68X mTZ2otsufierHjpewE67uO64z+vloaxQK5JKdtLhJRMz7s3BX/2IXJC/tGrFqvvJ sDzOc3vxAWipBEVo14CmUJm2TSsdGmm15zpDUIpWXBb9OqcvNW0UPtJ4PzzLiTDB loOlfBYsMip3sEk63SZLeSVRIqHAMJuDtpk1rw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1710427135; x= 1710513535; bh=p6t2wbhIQGerfNqaOG/N/EKR1/AktXrSoGniO0K5AEc=; b=W xRk73qoqU5UW6SK+vyOgFUqtCG04IIqgGqVWIyQfDfoy2WJLagIAUouZN45h20oq +INJQnZNlsdQlp873tAxI/chra20YULcWKxsdfx9WeB1BeyOIk2utNxIcqtQRNJE ltbUNGBYInXKrLglsd0EekKC6y3bXuQo1yv/KcmAc03vt4OOomQOkD941iOc3uIX 3Zg1VdJQmTVUr/riFzjIVlWpyRwyUj301pdy34bmutfj8SanVNN8pDgO9G4u289S FfFOHb5rzfAjo2+Yd1JVh9y1lpLBYmlxqOCIWev08xDCmnGqtMyH8nyddcp+yRHw o6lH+AVt4wb9eQmGlTmAw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrjeejgdeigecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhesvghishgvnhhtrhgruhhtrdhorhhgqe enucggtffrrghtthgvrhhnpefgjedthfekfedtuefgieelheetleejgefhueeltdfhueet vdffudekfeejhfegheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgh X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 14 Mar 2024 10:38:54 -0400 (EDT) Message-ID: <613c120a-5413-4fa7-a501-6590eae558f8@eisentraut.org> Date: Thu, 14 Mar 2024 15:38:53 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Built-in CTYPE provider Content-Language: en-US To: Jeff Davis , Daniel Verite Cc: Robert Haas , Jeremy Schneider , pgsql-hackers@postgresql.org References: <6f3e94c0-f174-4380-9b69-072f8a838881@manitou-mail.org> <12e4f6a78403b33c303c20e44976f891d879be09.camel@j-davis.com> <612987b5-38fa-44c6-8b78-c0be5a177a70@eisentraut.org> <2692039df6b0cac20c5e488fa0209e8958c5fedb.camel@j-davis.com> <27bb0e52-801d-4f73-a0a4-02cfdd4a9ada@eisentraut.org> <4a69d067374d2f6bfb66f5bfb2ab9a020493d49f.camel@j-davis.com> <3bc653b5d562ae9e2838b11cb696816c328a489a.camel@j-davis.com> <163f4e2190cdf67f67016044e503c5004547e5a9.camel@j-davis.com> <6bdb98e68b2b05aa71f7f934e227738eac84ecee.camel@j-davis.com> <19b34a70-f5cf-4faf-88dc-917db44ed48d@eisentraut.org> <846a7e1fa2024918b58ff7583523a2f3de9a11b4.camel@j-davis.com> <3117d30aa911b408b90420f4f280fa0c3b5851be.camel@j-davis.com> From: Peter Eisentraut In-Reply-To: <3117d30aa911b408b90420f4f280fa0c3b5851be.camel@j-davis.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 14.03.24 09:08, Jeff Davis wrote: > 0001 (the C.UTF-8 locale) is also close. Considering that most of the > infrastructure is already in place, that's not a large patch. You many > have some comments about the way I'm canonicalizing and validating in > initdb -- that could be cleaner, but it feels like I should refactor > the surrounding code separately first. If have tested this against the libc locale C.utf8 that was available on the OS, and the behavior is consistent. I wonder if we should version the builtin locales too. We might make a mistake and want to change something sometime? Tiny comments: * src/bin/scripts/t/020_createdb.pl The two added tests should have different names that tells them apart (like the new initdb tests). * src/include/catalog/pg_collation.dat Maybe use 'and' instead of '&' in the description. > 0002 (inlining utf8 functions) is also ready. Seems ok. > For 0003 and beyond, I'd like some validation that it's what you had in > mind. I'll look into those later.