Re: Invalid byte sequence for encoding "UTF8", caused due to non wide-char-aware downcase_truncate_identifier() function on WINDOWS

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Jeevan Chalke <jeevan(dot)chalke(at)enterprisedb(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Invalid byte sequence for encoding "UTF8", caused due to non wide-char-aware downcase_truncate_identifier() function on WINDOWS
Date: 2011-06-09 14:24:16
Message-ID: BANLkTik1wt1ZJhKx2XahZv-n7DdFfPNPYA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jun 9, 2011 at 10:15 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> On Thu, Jun 9, 2011 at 10:07 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> We are relying on isupper() to not return true
>>> when presented with a character fragment in a multibyte locale.
>
>> Based on Jeevan's original message, it seems like that's not always
>> the case, at least on Windows.
>
> Hmm.  Now that you mention it, I think the same has been said about OSX.
>
> If we need to work around brain-dead isupper() tests, maybe the best
> thing is to implement two versions of the loop:
>
>        if (encoding is single byte)
>                ... loop as it stands ...
>        else
>                ... loop without the "else if" part

That seems like a clear improvement. It's a long way from perfect,
but still worthwhile.

Would we back-patch that? Just do it in master? Wait for 9.2?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2011-06-09 14:25:07 Re: .gitignore for some of cygwin files
Previous Message Magnus Hagander 2011-06-09 14:22:42 Re: .gitignore for some of cygwin files