| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Jeff Davis <pgsql(at)j-davis(dot)com> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: [18] Unintentional behavior change in commit e9931bfb75 |
| Date: | 2024-12-02 22:25:49 |
| Message-ID: | 1687051.1733178349@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Jeff Davis <pgsql(at)j-davis(dot)com> writes:
> The behavior is commented (commit 176d5bae1d) in formatting.c:
> * ... When using the default
> * collation, we apply the traditional Postgres behavior that
> * forces ASCII-style treatment of I/i, but in non-default
> * collations you get exactly what the collation says.
> That's a somewhat strange special case (along with similar ones for
> INITCAP() and UPPER()) that applies to single-byte encodings with the
> libc provider and the database default collation only. I assume it was
> done for backwards compatibility?
Well, also for compatibility with our SQL parser's understanding
of identifier lowercasing.
> Should I put the special case back?
I think so. It's stood for a lot of years now without field
complaints, and I'm fairly sure there *were* field complaints
before. (I think that behavior long predates 176d5bae1d, which
was just restoring the status quo ante after somebody else's
overenthusiastic application of system locale infrastructure.)
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2024-12-02 22:42:33 | Re: Remove useless casts to (void *) |
| Previous Message | Andres Freund | 2024-12-02 22:23:37 | Re: Remove useless casts to (void *) |