Re: BUG #19341: REPLACE() fails to match final character when using nondeterministic ICU collation

Laurenz Albe <laurenz.albe@cybertec.at>

From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, adam.warland@infor.com, pgsql-bugs@lists.postgresql.org, peter@eisentraut.org
Date: 2025-12-02T21:44:53Z
Lists: pgsql-bugs
On Tue, 2025-12-02 at 15:53 -0500, Tom Lane wrote:
> On the other hand ... is that comment really right about zero-length
> match being possible?  If it is, the API for this function is in
> need of redesign, because callers that try to find "the next match"
> would go into an infinite loop re-finding the same zero-length
> match over and over.

I know too little about exotic collations to answer that, but it sure
would be a problem.  All I find in the discussion is the claim by
Peter E. in [1] that it is so.  Perhaps he can enlighten us.

Yours,
Laurenz Albe


 [1]: https://postgr.es/m/6107daa2-5cf7-4cf2-a526-626be1d15b18%40eisentraut.org