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 1pFbmm-0001x5-15 for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Jan 2023 14:09:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pFbmk-00045d-KW for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Jan 2023 14:08:58 +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 1pFbmj-00045M-EV for pgsql-hackers@lists.postgresql.org; Wed, 11 Jan 2023 14:08:58 +0000 Received: from wnew1-smtp.messagingengine.com ([64.147.123.26]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pFbmf-0006Qc-GC for pgsql-hackers@postgresql.org; Wed, 11 Jan 2023 14:08:56 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.west.internal (Postfix) with ESMTP id D914A2B0686C; Wed, 11 Jan 2023 09:08:49 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Wed, 11 Jan 2023 09:08:50 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding: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=fm3; t=1673446129; x=1673453329; bh=o BIn3vv63lPY7GuF26BxZRRoHiE+nVr2/T+4berEGik=; b=Az5FcZ7Pxov3adSWV y0ndlE2uGdZT9GShU8YwV5OJeoscG4DIDcgeJsV5tqjhuPaCfnj13la5BHKM/IDM /nu2zUSREKlZj0a91KDh3pK9JTI+n8wg6AgraevI32kfUftBbqNlHplH6nbygpKN Ci/DF1cmAfZipUpZiiJbr2XTua8zPLxJs3TcaR72T85uNupNHHjsw+fbm9hRvMw7 wcKApIqmC4rau6pv8QwCIoPoXvR0TMbbKf+sj1mqB4WzVkBtrwUNDyrNxETBwVcr sRVHDfUiX1r4mWY7yzyABfBSRXH29qy6ACkIrCFjSWN4/8SPFXhveM70paFrvRYa 3/iaw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrleeggdehlecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepkfffgggfuffvfhfhjggtgfesthejre dttdefjeenucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdr vghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomheqnecuggftrfgrth htvghrnhepfeejgeehteeuhfevveduleeufedtjeetiefftedvudfhtdeifefgueettdev gefgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepph gvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 11 Jan 2023 09:08:48 -0500 (EST) Message-ID: <8d87e399-84ee-1cf2-5a07-1fb2e4f15400@enterprisedb.com> Date: Wed, 11 Jan 2023 15:08:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: Rework of collation code, extensibility Content-Language: en-US To: Jeff Davis , pgsql-hackers@postgresql.org References: <0ab5c536cc778a5f27f51a6998fd4033bb1c21d8.camel@j-davis.com> From: Peter Eisentraut In-Reply-To: <0ab5c536cc778a5f27f51a6998fd4033bb1c21d8.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 06.01.23 08:04, Jeff Davis wrote: > The existing code is not great, in my opinion: it doesn't have clear > API boundaries, the comments are insufficient, and lots of special > cases need to be handled awkwardly by callers. That style is hard to > beat when it comes to the raw line count; but it's quite difficult to > understand and work on. > > I think my changes are an improvement, but obviously that depends on > the opinion of others who are working in this part of the code. What do > you think? I think the refactoring that you proposed in the thread "Refactor to introduce pg_strcoll()." was on a sensible track. Maybe we should try to get that done. The multiple-ICU stuff is still experimental and has its own rather impressive thread, so I don't think it's sensible to try to sort that out here.