Re: BUG #19341: REPLACE() fails to match final character when using nondeterministic ICU collation
| От | Laurenz Albe |
|---|---|
| Тема | Re: BUG #19341: REPLACE() fails to match final character when using nondeterministic ICU collation |
| Дата | |
| Msg-id | 60b467ac47d5c6bbb9c21c3bdfecce8e5de60cda.camel@cybertec.at обсуждение исходный текст |
| Ответ на | BUG #19341: REPLACE() fails to match final character when using nondeterministic ICU collation (PG Bug reporting form <noreply@postgresql.org>) |
| Ответы |
Re: BUG #19341: REPLACE() fails to match final character when using nondeterministic ICU collation
Re: BUG #19341: REPLACE() fails to match final character when using nondeterministic ICU collation |
| Список | pgsql-bugs |
On Tue, 2025-12-02 at 10:03 +0000, PG Bug reporting form wrote: > PostgreSQL version: 18.1 > > When using a nondeterministic ICU collation, the replace() function fails to > replace a substring when that substring appears at the end of the input > string. > > Occurrences of the same substring earlier in the string are replaced > normally. > > Specific collation used: > create collation test_nondeterministic ( > provider = icu, > locale = 'und-u-ks-level2', > deterministic = false > ) > > -- Replace final character under nondeterministic collation > SELECT replace( > 'testx' COLLATE "test_nondeterministic", > 'x' COLLATE "test_nondeterministic", > 'y') AS res1; I can reproduce the problem, and the attached patch fixes it for me. I am not certain if it is safe to apply pg_mblen() to "haystack_end", though. Yours, Laurenz Albe
В списке pgsql-bugs по дате отправления: