Clarify documentation for the initcap function

This commit documents differences in the definition of word separators for
the initcap function between libc and ICU locale providers.
Backpatch to all supported branches.

Discussion: https://postgr.es/m/804cc10ef95d4d3b298e76b181fd9437%40postgrespro.ru
Author: Oleg Tselebrovskiy <o.tselebrovskiy@postgrespro.ru>
Backpatch-through: 13
This commit is contained in:
Alexander Korotkov
2025-07-29 10:41:13 +03:00
parent 637ead2e1a
commit 1fe9e3822c

View File

@ -3148,8 +3148,11 @@ SELECT NOT(ROW(table.*) IS NOT NULL) FROM TABLE; -- detect at least one null in
</para>
<para>
Converts the first letter of each word to upper case and the
rest to lower case. Words are sequences of alphanumeric
characters separated by non-alphanumeric characters.
rest to lower case. When using the <literal>libc</literal> locale
provider, words are sequences of alphanumeric characters separated
by non-alphanumeric characters; when using the ICU locale provider,
words are separated according to
<ulink url="https://www.unicode.org/reports/tr29/#Word_Boundaries">Unicode Standard Annex #29</ulink>.
</para>
<para>
<literal>initcap('hi THOMAS')</literal>