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.96) (envelope-from ) id 1vQTIG-008Is0-13 for pgsql-bugs@arkaria.postgresql.org; Tue, 02 Dec 2025 16:32:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vQTIF-0095d7-1N for pgsql-bugs@arkaria.postgresql.org; Tue, 02 Dec 2025 16:31:59 +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.96) (envelope-from ) id 1vQTIF-0095cz-0W for pgsql-bugs@lists.postgresql.org; Tue, 02 Dec 2025 16:31:59 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vQTID-002lYt-0p for pgsql-bugs@lists.postgresql.org; Tue, 02 Dec 2025 16:31:59 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-64074f01a6eso10219463a12.2 for ; Tue, 02 Dec 2025 08:31:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1764693116; x=1765297916; darn=lists.postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:to:from:subject :message-id:from:to:cc:subject:date:message-id:reply-to; bh=MysYlPyiJT1KHPTk04am3GGustYt3zrOQepToh6W2HY=; b=hVmGxaFQcVbzQwgehTEvA8+9hYkXffnbwCIWqr9niDuntBnnuNrsqS5iiKuxTwmys0 vovLUzh6DGHDWZbtaOs8KZAbYtA0reNuaew8rKicMsbTCUmsFIGal6UXC2GvZl9V2ZNU mYTetv6pNciQODq5kO5Zzt/l4Vce6XWW56HvhNamUUMa9UC/Q0hIVNak+yJASS/vXA0t Y7oMO/NwjfPtmdMwNG1OR6RLW3kb8xXFifqU6/H+iG/zQBQyW0mimccEO8u6zbDRDGB8 F2mQyvjXFGNqgnVYHxlCFygv1qFblQ6duL7zGFv6CXiDiuWKVORKCnNvxoQrmaP7+OZW 5gxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764693116; x=1765297916; h=mime-version:user-agent:references:in-reply-to:date:to:from:subject :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MysYlPyiJT1KHPTk04am3GGustYt3zrOQepToh6W2HY=; b=kdPinBkT/bTlpW7PZON+fCt/WTvE4AvBjH5U8ptZnlAJZF+J4lhxVaumvTpDNQBbwn DBbS0uhvmQDn3MBibtetBaP7jDOhfVYejEQ1NYt9Py1z6+YtcnLOvulT8+vwuUrOfQ8d lUack1GcjwIS09CXPq1G3nAABDkGx54tT9oE+9x3BQAv6EDCbHLWAwbck2pkc7BuSgDD 0RfwVIoQJiHBtPKE58EFbdwelaiWiAyErptY8dWmq2b0M+coA4GppKj2CASgXhZqBRYq xejo9hX4gt0OfCqxMgkJs2XzWq+uZZuuqiola56hQzwG2K8nOdZXoMbTwgJBecaUfJu/ t+dg== X-Forwarded-Encrypted: i=1; AJvYcCVW15fUbB79+mUKqGgj9nOVWH24l3txJNvEWtNSnf4ehEO3bITOE9NxX3uqhnSyXd3MITMDIRe1R2fH@lists.postgresql.org X-Gm-Message-State: AOJu0YwmEeRsSBuefzSwGwwxIfsIc+c/jc1MYdXR5UOwfSY0i8mC1G1z 3rlpoTKXVBZon5p6exYq4vNfadepsV5yOnh993eJOoF66020Xm1yh15/Sl9FIFNgkbE= X-Gm-Gg: ASbGncuGcCYGihigbXFdwIUqfxVGfNyQYmH4KShCVQplDqNsFXzbhsD9N/9f2vt1hi5 R0vldPEuhFjZlTeGZ0dy4eOqaWbTUh6yV8jrhxH5HU69Jyhh3Nd6rmZO0PlerV2uZ18Q1xHl/HQ RRo8HkzznyF3i37eh5bTLdJxz23VfDvIqtmJEbMJyJqYqX+pjIegmJHcoDx/c2sq7Yg/ATGtB6R sIw2QbxhT3faR+vGVbtaKlR+w/Acf74k0KOpCfPtppwZIkkTLRsLqwQORohSbK8yNQXNt/Pg6Mq m5yirAqTpU9QKkdCdMuFUJ0LBdTAeTeAd5tw1i6BwEzttE/MFmr49Dq1dQsKpTQrROYHHMMMXgS 2uJ9dWM27Dx2ZH0cXZRN3jkrfBZt0+HDO70I3QBf8Boch1LXTxRjnzcVmgRx3Dd5uLTs0MdCvwy fMpoPvCE/TffLSe3p9INiyeSHsXfZ0HKD1sg53fMLw X-Google-Smtp-Source: AGHT+IET1xrPvCeZL5QC+iLye+BW3UTPdbvVMgiG4lDK+s0bKw+wRZRLb2BoCUxKqJkM4fr8UOrINg== X-Received: by 2002:a05:6402:3596:b0:641:3a92:7e6f with SMTP id 4fb4d7f45d1cf-64794ea5d03mr245340a12.0.1764693115909; Tue, 02 Dec 2025 08:31:55 -0800 (PST) Received: from laurenz.albe-K4N0CV00F97414D ([2001:871:70:4d50:82d5:e2a3:8d7d:8548]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-64750a6eca9sm15633886a12.1.2025.12.02.08.31.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Dec 2025 08:31:55 -0800 (PST) Message-ID: Subject: Re: BUG #19341: REPLACE() fails to match final character when using nondeterministic ICU collation From: Laurenz Albe To: adam.warland@infor.com, pgsql-bugs@lists.postgresql.org Date: Tue, 02 Dec 2025 17:31:54 +0100 In-Reply-To: <60b467ac47d5c6bbb9c21c3bdfecce8e5de60cda.camel@cybertec.at> References: <19341-1d9a22915edfec58@postgresql.org> <60b467ac47d5c6bbb9c21c3bdfecce8e5de60cda.camel@cybertec.at> Content-Type: multipart/mixed; boundary="=-gaNIJYEe1hZDBTkRPXr+" User-Agent: Evolution 3.56.2 (3.56.2-2.fc42) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-gaNIJYEe1hZDBTkRPXr+ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2025-12-02 at 17:24 +0100, Laurenz Albe wrote: > I can reproduce the problem, and the attached patch fixes it for me. Erm, and here is the patch. Laurenz Albe --=-gaNIJYEe1hZDBTkRPXr+ Content-Disposition: attachment; filename*0=v1-0001-Fix-greedy-substring-search-for-non-deterministic.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="v1-0001-Fix-greedy-substring-search-for-non-deterministic.patch"; charset="UTF-8" RnJvbSAwNTdlNDM0OGEyYzQ0ODE2ZTE5ZTljNWM0NzExNjI2MjYzYTg3N2M0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogVHVlLCAyIERlYyAyMDI1IDE3OjIwOjI3ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 MV0gRml4IGdyZWVkeSBzdWJzdHJpbmcgc2VhcmNoIGZvciBub24tZGV0ZXJtaW5pc3RpYwogY29s bGF0aW9ucwoKRHVlIHRvIGFuIG9mZi1ieS1vbmUgZXJyb3IsIHRoZSBjb2RlIGZhaWxlZCB0byBm aW5kIG1hdGNoZXMgYXQgdGhlCmVuZCBvZiB0aGUgaGF5c3RhY2suCgpBdXRob3I6IExhdXJlbnog QWxiZSA8bGF1cmVuei5hbGJlQGN5YmVydGVjLmF0PgpSZXBvcnRlZC1CeTogQWRhbSBXYXJsYW5k IDxhZGFtLndhcmxhbmRAaW5mb3IuY29tPgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9t LzE5MzQxLTFkOWEyMjkxNWVkZmVjNTglNDBwb3N0Z3Jlc3FsLm9yZwotLS0KIHNyYy9iYWNrZW5k L3V0aWxzL2FkdC92YXJsZW5hLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdmFy bGVuYS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmxlbmEuYwppbmRleCAzODk0NDU3YWI0 MC4uN2ZlMTA5YmE3M2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJsZW5h LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmxlbmEuYwpAQCAtMTE0OSw3ICsxMTQ5 LDcgQEAgdGV4dF9wb3NpdGlvbl9uZXh0X2ludGVybmFsKGNoYXIgKnN0YXJ0X3B0ciwgVGV4dFBv c2l0aW9uU3RhdGUgKnN0YXRlKQogCQkJICogRWxzZSBjaGVjayBpZiBhbnkgb2YgdGhlIHBvc3Np YmxlIHN1YnN0cmluZ3Mgc3RhcnRpbmcgYXQgaHB0cgogCQkJICogYXJlIGVxdWFsIHRvIHRoZSBu ZWVkbGUuCiAJCQkgKi8KLQkJCWZvciAoY29uc3QgY2hhciAqdGVzdF9lbmQgPSBocHRyOyB0ZXN0 X2VuZCA8IGhheXN0YWNrX2VuZDsgdGVzdF9lbmQgKz0gcGdfbWJsZW4odGVzdF9lbmQpKQorCQkJ Zm9yIChjb25zdCBjaGFyICp0ZXN0X2VuZCA9IGhwdHI7IHRlc3RfZW5kIDw9IGhheXN0YWNrX2Vu ZDsgdGVzdF9lbmQgKz0gcGdfbWJsZW4odGVzdF9lbmQpKQogCQkJewogCQkJCWlmIChwZ19zdHJu Y29sbChocHRyLCAodGVzdF9lbmQgLSBocHRyKSwgbmVlZGxlLCBuZWVkbGVfbGVuLCBzdGF0ZS0+ bG9jYWxlKSA9PSAwKQogCQkJCXsKLS0gCjIuNTIuMAoK --=-gaNIJYEe1hZDBTkRPXr+--