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 1ujcZO-009uez-C3 for pgsql-docs@arkaria.postgresql.org; Wed, 06 Aug 2025 11:44:34 +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 1ujcZN-00FNWY-0e for pgsql-docs@arkaria.postgresql.org; Wed, 06 Aug 2025 11:44:33 +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.94.2) (envelope-from ) id 1ujcZM-00FNWQ-Jl for pgsql-docs@lists.postgresql.org; Wed, 06 Aug 2025 11:44:32 +0000 Received: from fout-a1-smtp.messagingengine.com ([103.168.172.144]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ujcZJ-0013W8-2p for pgsql-docs@lists.postgresql.org; Wed, 06 Aug 2025 11:44:32 +0000 Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfout.phl.internal (Postfix) with ESMTP id 5A577EC0105; Wed, 6 Aug 2025 07:44:28 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Wed, 06 Aug 2025 07:44:28 -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=fm2; t=1754480668; x=1754567068; bh=FndDSPD7VxnT0151xZUsCLQ7j8B4tQdJ fcxDH1mfv0A=; b=ZtKDUPjLc1AxKxgCRgqS+spGiUiiBswks2NbooM8FhtFR0x/ Wm46CQq8Shy6RP8ZLGnoTjZjpd1R5m3Fb2LhZv1jpTjWAf7+wkNPf08ChbBn/v78 QSasqbKopAthed7w0mSzVceSrK56QM8YJab7KPWfLKf4ZUmZyZu5qmCWUN+taOfP D6ZqbC+hXxoL7cLkY+QHszU+2zVUHfX4NvmTfaGxX7Yubi0f+bZK6UYQGzBzti6k fY92oe2ioCEZzgmH6GuwAuD6xc+wfs94K58CO7c92C2sf+QHviSyaGjFceOAGgTj Wic5L2LJucqN60j0SV9mSX4M0qquqmA0kjXw0g== 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-sender:x-me-sender:x-sasl-enc; s=fm3; t=1754480668; x= 1754567068; bh=FndDSPD7VxnT0151xZUsCLQ7j8B4tQdJfcxDH1mfv0A=; b=n cp2d3KVQqPanBvYuBMu5705udoSeNtdgi20mJgcti0BzNDWky5kRzfBglOseiblK 0+GAyS0N/ZC3WbRmV3t9YznA9b3SvOkHHTOqbEAHhR1a3D9w5S4lO/Dx7Wl/CZCQ SA27ux+yQImzcOI598A5jqABbJOpDK48NusVpgOPknb7oVDFYDowXN8jgs9CCQ7y 4SbUhkD8tPfmwjNLY2DrUYAVhglSJyjEIrGS6nCCqamV1zEswA20yTQmKqFIlmaz BzPpJsCa5Sucg5LcBgAASXEWKKrxrO/lXXL2yNSQLeE5TbHRfSLMj1d8/9PJ4bU/ wcrFJhypllVjHx3CLpHJg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudejleejucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdejnecuhfhrohhmpefrvghtvghr ucfgihhsvghnthhrrghuthcuoehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgheqne cuggftrfgrthhtvghrnhepteffheeivdeujeelvefhveeffefhjeevffdugfejgfdtudff tdfhffejhefgtedunecuffhomhgrihhnpehorhgrtghlvgdrtghomhenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrsegvihhsvghn thhrrghuthdrohhrghdpnhgspghrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpd hrtghpthhtohepphhgshhqlhesjhdquggrvhhishdrtghomhdprhgtphhtthhopehordht shgvlhgvsghrohhvshhkihihsehpohhsthhgrhgvshhprhhordhruhdprhgtphhtthhope grvghkohhrohhtkhhovhesghhmrghilhdrtghomhdprhgtphhtthhopehpghhsqhhlqdgu ohgtsheslhhishhtshdrphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 6 Aug 2025 07:44:26 -0400 (EDT) Message-ID: <415a8ce2-7b15-4fd0-b82a-1d13aba754ed@eisentraut.org> Date: Wed, 6 Aug 2025 13:44:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Initcap works differently with different locale providers To: Jeff Davis , Oleg Tselebrovskiy Cc: Alexander Korotkov , pgsql-docs@lists.postgresql.org References: <804cc10ef95d4d3b298e76b181fd9437@postgrespro.ru> <0658C8F0-5ED4-4962-A2A3-524B0D899982@gmail.com> <9247c1b9531136e15d83511270e8c43bf877c9ca.camel@j-davis.com> Content-Language: en-US From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 04.08.25 22:59, Jeff Davis wrote: > On Mon, 2025-08-04 at 12:30 +0700, Oleg Tselebrovskiy wrote: >> First patch just adds this warning about not relying on initcap() >> exact >> result. The second one is the same, but removes the part "what is a >> word" >> since it's could be moot because we recommend writing custom >> functions, >> so understanding what is a word is not exactly needed. Still on the >> fence >> about which patch is better, though > > One more thing: we should also change it to "... to upper case (or > title case) and the rest to lower case...". Title case is for scripts > that have characters like 'Dž' (U+01C5). > > Other than that I like the second version, which un-documents the > specific word boundary rules. I'll admit I'm not quite sure how people > use this function in practice, but I expect that it's mostly convenient > (or lazy) display. It's meant to be an Oracle-compatible function, so maybe someone can check there for some details. https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/INITCAP.html I think we should try to document the behavior more precisely. But we probably first have to agree what it should be. > Alexander, is there a reason you backported this change? I don't > normally backport doc improvements like this, but I'm not sure what > standard others use. The fact that it's on 7 branches makes me more > reluctant to commit these extra improvements on top. Can you take care > of these follow-up patches? Or, just revert the change and I can make > the improvements in master. Yes, I was not in favor of backpatching this, since it was not a bug fix. And it turns out it was incomplete. I think we should revert all the backpatches and iterate on getting the documentation the way we want in master.