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

From Robert Haas
Subject Re: Invalid byte sequence for encoding "UTF8", caused due to non wide-char-aware downcase_truncate_identifier() function on WINDOWS
Date
Msg-id BANLkTimy+bQGeFqr-v5ENhi3YMK4iUDeqQ@mail.gmail.com
Whole thread Raw
In response to Re: Invalid byte sequence for encoding "UTF8", caused due to non wide-char-aware downcase_truncate_identifier() function on WINDOWS  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Invalid byte sequence for encoding "UTF8", caused due to non wide-char-aware downcase_truncate_identifier() function on WINDOWS
List pgsql-hackers
On Thu, Jun 9, 2011 at 11:17 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Thu, Jun 9, 2011 at 10:15 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> 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)
>
>> That seems like a clear improvement.  It's a long way from perfect,
>> but still worthwhile.
>
> Hmm ... while the above is easy enough to do in the backend, where we
> can look at pg_database_encoding_max_length, we have also got instances
> of this coding pattern in src/port/pgstrcasecmp.c.  It's a lot less
> obvious how to make the test in frontend environments.  Thoughts anyone?

I'm not sure if this helps at all, but an awful lot of those tests are
against hard-coded strings that are known to contain only ASCII
characters.  Is there some way we can optimize this for that case?

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


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Invalid byte sequence for encoding "UTF8", caused due to non wide-char-aware downcase_truncate_identifier() function on WINDOWS
Next
From: Heikki Linnakangas
Date:
Subject: Re: release slippage