Re: [18] Unintentional behavior change in commit e9931bfb75
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter@eisentraut.org>
Cc: pgsql-hackers@postgresql.org
Date: 2024-12-12T19:19:01Z
Lists: pgsql-hackers
On Wed, 2024-12-04 at 12:21 -0500, Tom Lane wrote: > Peter Eisentraut <peter@eisentraut.org> writes: > > On 02.12.24 23:25, Tom Lane wrote: > > > Well, also for compatibility with our SQL parser's understanding > > > of identifier lowercasing. > > > Maybe that was relevant before the "name" type got its own > > collation? > > downcase_identifier doesn't give a fig about name's collation. I'd like to understand better the relationship between the parser's casefolding, object names in the catalog, the default collation, and the default ctype. The comment in downcase_identifier() says: "SQL99 specifies Unicode- aware case normalization, which we don't yet have the infrastructure for". The good news is that, with https://commitfest.postgresql.org/51/5436/ we hopefully will have the infrastructure in place soon. (a) Do we want to use that infrastructure? (b) Do we want to use the default collation to provide the case folding behavior, or do we want to always use the unicode behavior that's built in to postgres? I'm not quite sure where the single-byte encoding special case fits in or how it helps. It seems like what it's really doing is locking the database-wide ctype behavior down to either libc "C" or libc with any non-Turkish-related locale. The reasoning behind this might answer question (b) above, but I'm not sure which direction we should be moving. Thoughts? Regards, Jeff Davis
Commits
-
Another unintentional behavior change in commit e9931bfb75.
- 2e5353be2534 18.0 landed
-
Improve comment in regc_pg_locale.c.
- b107744ce737 18.0 landed
-
Fix unintentional behavior change in commit e9931bfb75.
- e3fa2b037c6f 18.0 landed
-
Remove support for null pg_locale_t most places.
- e9931bfb7515 18.0 cited
-
Fix up handling of C/POSIX collations.
- 176d5bae1d63 9.1.0 cited