Re: Identifier downcase change for LATIN1, in v19

From: Jeff Davis <pgsql(at)j-davis(dot)com>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Identifier downcase change for LATIN1, in v19
Date: 2026-09-01 18:51:02
Message-ID: 93adc3da79b248f4da1b27b3da4a3a0a5d7008b1.camel@j-davis.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 2026-08-26 at 15:55 -0700, Noah Misch wrote:

>   Commit 87b2968
> "downcase_identifier(): use method table from locale provider"
> changed this.

Thank you for the report. Yes, that was an unintentional behavior
change for provider=builtin, locale=C, single-byte encoding, and a
non-C LC_CTYPE setting.

I think the right fix is to just revert 0a90df58cf & 87b2968df0. Those
were intended to be cleanup to reduce the dependency on the LC_CTYPE
setting, but if we need the dependency for all three providers, then
those commits didn't move us any closer to that goal.

> Opus 5 found that, under LATIN1, psql running "\d TABLENAME" can
> find a
> different table than the one "SELECT * FROM TABLENAME" reads.

To be pedantic, that can happen regardless. There's no guarantee that
the client's libc and the server's libc agree.

Regards,
Jeff Davis

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrey Borodin 2026-09-01 18:57:21 Re: [PATCH v1] Add vacuum_delay_point() to GiST empty-page deletion pass
Previous Message Andres Freund 2026-09-01 18:50:23 Re: Error handling in after-startup shmem requests