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 1ujilO-00BEg7-A8 for pgsql-docs@arkaria.postgresql.org; Wed, 06 Aug 2025 18:21:22 +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 1ujilN-0009zW-4l for pgsql-docs@arkaria.postgresql.org; Wed, 06 Aug 2025 18:21:21 +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 1ujilM-0009zK-Oj for pgsql-docs@lists.postgresql.org; Wed, 06 Aug 2025 18:21:20 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1ujilJ-0015K3-1F for pgsql-docs@lists.postgresql.org; Wed, 06 Aug 2025 18:21:19 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-23aeac7d77aso1303445ad.3 for ; Wed, 06 Aug 2025 11:21:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1754504477; x=1755109277; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=6SVW/EBHykidw6eq2V9sb/ue1FNDlcGc2gVwBCc/UiY=; b=kO+mfVjG6oQwOr615fQgyLzFITN9I66yvCa2kmRz8W8XUUB0MRqwyX72TCrJTQr8VA d1oJyjfpHMpX179D6ylmP7Se4KBxIQ54fd8yXeIyubgmHfw/reiOtp2XiCTHVCQzqKaH goHtuJQ+N7gfWlwcV0P1D9NRdCNNDmx5bCzbRaMUaBYw+zX51hbLj1d8SsgO6Y6jRaY6 +0fd86eMe6idqVTSuBTs/CKfh+qbdpK7OaqISIEpHaJqAZlOtsiTmB2AcvxOP9AuemDG 6O1y/go+cS+BbytOtf6tGR/PDG37m7dqbIPsLunb/oqnXVZxahQ3WhYi/iaKb/Ye3+dZ VDBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754504477; x=1755109277; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=6SVW/EBHykidw6eq2V9sb/ue1FNDlcGc2gVwBCc/UiY=; b=SOlZS/eYDojmhA8v/A7GUVfrcd6oY+ONGKbxa0sfabcc8+tSCXhdkkOWKQ4WtH6G91 6TjOvsNidMQX240k9ziYIRDAnauOMS1xnIbv3d1iDJDfBSs08DxHZLW2CzkkrFK/crsc /yC/S+kFDfqluMSrfFU0AgJ/z6oE0pu/YNAK6sIy+ilQnN/gWKoRC0Lr1aYVLktUgsz0 jaRQHe3lc27/jfref4ocV1yKRlUHv8mnco+qzUTOcuy4zBKhE0B92/KjsSAR7ttgS/id dRTVC5dg5ZV0N4xu6AY3ZpvhI9WB8m1CLISbSe6ehGVgN2mZG57zopktEHZBqHrm2Jmn n5Ag== X-Forwarded-Encrypted: i=1; AJvYcCVCGVLp/xKZOYwcyWmKhGlZqgX7yCCJ4hkF8Uai5aXNphZTY9g/4KNvdN4K1wXdTB3a4T5c6m2KN0TA@lists.postgresql.org X-Gm-Message-State: AOJu0YwaEeCFRASngqtYuuYk+WNsMyfiyfcVDd3YMOtxpz6mGgV6BU6k vZifn7dknqUsACM5u0/cXaCgw+dn6XeuqSnyCL1YsWsV+b5R6EFAe5gFtlc/CDhAnQ== X-Gm-Gg: ASbGnct9aatAlDcR9ZgZxxM0m01mh3hzsGIOhYzOwxWJCOm/w8747P4TKkUPKHCRHvy tRmnBLNoIKUkCmUAvEuoXi0qmRif/llF4DkXqQcWAEuAZKBniU/tdjLpJYBys2hUMiH92rftUlg YOZ0yPzKW9AfIQVyYKO9HqK5BU9sc31dveVYdEQI5HXnyqG3jY0cAnuV0DED5ZwLlxa5I3Ax/fI sRqYtUCMJHrsIu37kLG+9fIXZ1/eLlAtNamrSYT/Xhp7jS/WWnlbKZkWTA3kftXnOmjn7zPYG8G gNN8vbadc4hZMaSdXJVQmIB/TNsRZdiO1sXsks2atNnausvoxvAZXhC5LsXRjoSYvJ+SE5nIL7z aE3Y7HemuwBC+7EX9LPcwbuTdlL0blgGoAqHBRu/+KFhk7fEuwO3K5yPLXvZUryG6VFURlOoxNw MFw+WktjuJXZs7lw== X-Google-Smtp-Source: AGHT+IFNCVGshtZ7j7AL5PtCrHT7mdkIlQ7izmOohRAC3MT2UGBAEf6JhRLQ1+tOQdo2U+GYirSxqg== X-Received: by 2002:a17:902:f684:b0:240:c9b6:f8ee with SMTP id d9443c01a7336-242b1b086a6mr2082755ad.50.1754504477048; Wed, 06 Aug 2025 11:21:17 -0700 (PDT) Received: from jeff-ws-bridge.lan (c-76-102-242-158.hsd1.ca.comcast.net. [76.102.242.158]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241d1ef6c62sm166678035ad.4.2025.08.06.11.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Aug 2025 11:21:16 -0700 (PDT) Message-ID: Subject: Re: Initcap works differently with different locale providers From: Jeff Davis To: Peter Eisentraut , Oleg Tselebrovskiy Cc: Alexander Korotkov , pgsql-docs@lists.postgresql.org Date: Wed, 06 Aug 2025 11:21:15 -0700 In-Reply-To: <415a8ce2-7b15-4fd0-b82a-1d13aba754ed@eisentraut.org> References: <804cc10ef95d4d3b298e76b181fd9437@postgrespro.ru> <0658C8F0-5ED4-4962-A2A3-524B0D899982@gmail.com> <9247c1b9531136e15d83511270e8c43bf877c9ca.camel@j-davis.com> <415a8ce2-7b15-4fd0-b82a-1d13aba754ed@eisentraut.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2025-08-06 at 13:44 +0200, Peter Eisentraut wrote: > It's meant to be an Oracle-compatible function, so maybe someone can=20 > check there for some details. If it's purely a compatibility function, then using ICU's sophisticated word break iterator doesn't make sense. > https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/INITC= AP.html >=20 > I think we should try to document the behavior more precisely. I don't think ICU purely follows Unicode on this point (does it?), so we'd have to point to the ICU documentation. > =C2=A0 But we=20 > probably first have to agree what it should be. I still don't fully understand the use case here. I've used the function a few times to assemble a few strings into a page heading, but that was some time ago so I don't even clearly remember my use case. It seems plausible there are quite a few people doing something similar, and they'd benefit from ICU's more sophisticated approach. But if the primary use case is for compatibility, then we might be trying to hard to make this a provider-specific feature. >=20 > Yes, I was not in favor of backpatching this, since it was not a bug=20 > fix.=C2=A0 And it turns out it was incomplete.=C2=A0 I think we should re= vert > all=20 > the backpatches and iterate on getting the documentation the way we > want=20 > in master. +1. Regards, Jeff Davis