| From: | shihao zhong <zhong950419(at)gmail(dot)com> |
|---|---|
| To: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
| Cc: | pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Jeff Davis <pgsql(at)j-davis(dot)com>, Noah Misch <noah(at)leadboat(dot)com> |
| Subject: | Re: [PG19] ILIKE index scan misses rows with a libc UTF-8 collation on macOS |
| Date: | 2026-10-20 02:20:16 |
| Message-ID: | CAGRkXqS0eX1BbUWPhR8abcs1zQ94WsyjWFd+7NKpknMLG+HLBg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Thanks Fujii and Chao for testing.
> Given that this issue has only been confirmed on macOS so far, does it
> make sense to add the extra checks only for macOS, like this:
I would keep it on all platforms. ILIKE compares with towlower() on
every platform, so this check is what it needs everywhere. Where the C
library is consistent it changes nothing. I went over every code point
with glibc 2.39 and musl 1.2.5, and the new checks add no character
there. It only runs at plan time.
> Then, I would suggest adding a regression test so that CI can help
> check whether the problem exists on other platforms.
Done in 0002.
0001 is unchanged.
Thanks,
Shihao
| Attachment | Content-Type | Size |
|---|---|---|
| v2-0001-Fix-pg_iswcased-for-libc-UTF8-case-mappings.patch | application/octet-stream | 1.5 KB |
| v2-0002-Add-regression-test-for-ILIKE-prefix-with-libc-UT.patch | application/octet-stream | 6.5 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ajin Cherian | 2026-10-20 02:21:37 | Re: [PG19] Sequence sync stops when the subscription owner can't SET ROLE to a sequence owner |
| Previous Message | Takeshi Ideriha | 2026-10-20 02:15:58 | Re: DOCS - CREATE PUBLICATION wording re 'ONLY' for partitioned tables. |