From: | Noah Misch <noah(at)leadboat(dot)com> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [COMMITTERS] pgsql: Don't downcase non-ascii identifier chars in multi-byte encoding |
Date: | 2013-06-09 04:38:19 |
Message-ID: | 20130609043819.GB452642@tornado.leadboat.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
On Sat, Jun 08, 2013 at 11:50:53PM -0400, Andrew Dunstan wrote:
> On 06/08/2013 10:52 PM, Noah Misch wrote:
>> Let's return to the drawing board on this one. I would be inclined to keep
>> the current bad behavior until we implement the i18n-aware case folding
>> required by SQL. If I'm alone in thinking that, perhaps switch to downcasing
>> only ASCII characters regardless of the encoding. That at least gives
>> consistent application behavior.
>>
>> I apologize for not noticing to comment on this week's thread.
>>
>
> The behaviour which this fixes is an unambiguous bug. Calling tolower()
> on the individual bytes of a multi-byte character can't possibly produce
> any sort of correct result. A database that contains such corrupted
> names, probably not valid in any encoding at all, is almost certainly
> not restorable, and I'm not sure if it's dumpable either.
I agree with each of those points. However, since any change here breaks
compatibility, we should fix it right the first time. A second compatibility
break would be all the more onerous once this intermediate step helps more
users to start using unquoted, non-ASCII object names.
> It's already
> produced several complaints in recent months, so ISTM that returning to
> it for any period of time is unthinkable.
PostgreSQL has lived with this wrong behavior since ... the beginning? It's a
problem, certainly, but a bandage fix brings its own trouble.
--
Noah Misch
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2013-06-09 13:51:06 | Re: [COMMITTERS] pgsql: Don't downcase non-ascii identifier chars in multi-byte encoding |
Previous Message | Andrew Dunstan | 2013-06-09 03:50:53 | Re: [COMMITTERS] pgsql: Don't downcase non-ascii identifier chars in multi-byte encoding |
From | Date | Subject | |
---|---|---|---|
Next Message | Craig Ringer | 2013-06-09 05:23:51 | Re: Redesigning checkpoint_segments |
Previous Message | Stephen Frost | 2013-06-09 04:08:50 | Re: Batch API for After Triggers |