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 1uj2Hi-001xG1-NF for pgsql-docs@arkaria.postgresql.org; Mon, 04 Aug 2025 20:59:55 +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 1uj2Hh-005B9M-Jt for pgsql-docs@arkaria.postgresql.org; Mon, 04 Aug 2025 20:59:53 +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 1uj2Hh-005B8I-8f for pgsql-docs@lists.postgresql.org; Mon, 04 Aug 2025 20:59:53 +0000 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uj2He-000lF9-1n for pgsql-docs@lists.postgresql.org; Mon, 04 Aug 2025 20:59:52 +0000 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-76bde897110so2763685b3a.3 for ; Mon, 04 Aug 2025 13:59:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1754341187; x=1754945987; 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=GVIunlJjAJIjyf0DsaYSxGlFo5wltK3jdgezWBMjBdA=; b=J/2a+tGZE6tEVYEmioxot9dVTYbaToU98cSjWImcUuiMh0vqQShThGDfGuRk143tm0 hkqOVlOqGUYUIPp4JlTCyYmzXHu/hXy1Inm7rthxhB3HrL3pR2pRgWMAIpYBk6F5omCq ASY6cH7L2hUHuhgwgSJyJEKb6F7iqkoFvHED2A6tHKnO9zPOgAB4oGzk7T9F8oCtFDsX MY6y71FmX8AsEcum5f4h3yGBrTZBgFnqH0o3MrwdFkuoU25BoTJD/eumh60OzwBlsqX/ 5vsuGuyPcYoxtNAObafw36KhX6ai23I8mTS6WOvoayVu4wxTZPBCMGOkhc2JC+YK+X1e TUkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754341187; x=1754945987; 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=GVIunlJjAJIjyf0DsaYSxGlFo5wltK3jdgezWBMjBdA=; b=LdxKNnceFQF/h/c7Evf6tPfWUbGii17d0o5p7M+PBDgVM9bmgfG1vVTSnkoz7KADLo L+KwmwTaSNmR+fBTAcHbubbBr7+SwtWV1wG2DBm7MBMUazYMONUrAVB52/3yYYGGrQD/ 6ThVAutDSy4nV5CrxtXkA3JXd9vzSmfmRwufFcURD4EGWQ0YrE+3JRiBhoANkSf7IUik Peh2sK0lzTwYrIsIblXjtgIG9HoMStmtN5NcCtF/e4DuG+U0qlsRrHme0YaxwEP+ey92 jzn0pB9feHe3VzRb9A2WlYPxJ32sFOK5i1FO60K4EDIHloRDa3P1q0JoKThcHPQrPAeC IH6Q== X-Forwarded-Encrypted: i=1; AJvYcCVKRusC3h3N/5lv4fjDPOBj5FIeX9BMXLwfWi/5fawF/UTyQVp7ZMGlXjePb82saaTfh9FiXG1Lr+6O@lists.postgresql.org X-Gm-Message-State: AOJu0YyAjTI+/jMhG1t95nRhOIrcO0ljGbkMJ78nH0PV+ZBbQ0tu62AO 3npx4ZMyzdtrbbnl9VUZtSiSsXDGjSVfg7ObbjHoGW6VAePPw+il6xMG1uA+AJLvCQ== X-Gm-Gg: ASbGncsh733fZZepsJKA2VoLkRF/Lp/3ScOrAdIaQqR2rKZ0ealm3l7ET3IrQL/ikSc ixmERD2tK1LSXFmGl2OnaNegz1S59vFjw06mWjRJeJXKu/LZgguJupFpzH3sv1UIvrSl+URR0n8 z4TurV3+EfmX/RPojkz1Zxlo5v7q8HmfR+Zo3knjQ8NAUvtuiGRh5XYddiA1IXJjh0jmQp7CoK9 5YpYe79/3CBbybwzpLp8VKOA/61ftS571e8a9qqDKeAenBO+4hp4q/UJyCS3jbOEGp/9Up87iSU a93J16UtKPK5VR6jNRdxwmca0cyQsVt+OczKnr3Hi1gxU30LUGQhn4R01gVlPBKN8s7sYMtIs/y IhNiGzbCuy/Ge39yr4343xMEUvaEFH+jjn6vPJPWztpSwdpmEA+q7ABnyjCr60ioA35dI X-Google-Smtp-Source: AGHT+IFfAO+an3qz39YxoZcdVJgQ0jOrpYWjoPQfy6phRkOI7LhoMGIuSqEWo6VvBwcIFUWyB/epWA== X-Received: by 2002:a17:903:22c7:b0:240:71ad:a442 with SMTP id d9443c01a7336-24246f2e5d7mr146488015ad.9.1754341187012; Mon, 04 Aug 2025 13:59:47 -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-241d1ef6825sm117181595ad.30.2025.08.04.13.59.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Aug 2025 13:59:46 -0700 (PDT) Message-ID: Subject: Re: Initcap works differently with different locale providers From: Jeff Davis To: Oleg Tselebrovskiy Cc: Alexander Korotkov , pgsql-docs@lists.postgresql.org Date: Mon, 04 Aug 2025 13:59:45 -0700 In-Reply-To: References: <804cc10ef95d4d3b298e76b181fd9437@postgrespro.ru> <0658C8F0-5ED4-4962-A2A3-524B0D899982@gmail.com> <9247c1b9531136e15d83511270e8c43bf877c9ca.camel@j-davis.com> 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 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=20 > 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=20 > 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 '=C7=85' (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. 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. Regards, Jeff Davis