Re: Locale-based identifier conversion and Turkish

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Devrim GUNDUZ <devrim(at)gunduz(dot)org>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Locale-based identifier conversion and Turkish
Date: 2003-12-15 20:14:23
Message-ID: 14537.1071519263@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Devrim GUNDUZ <devrim(at)gunduz(dot)org> writes:
> Now, PostgreSQL 7.4 initdb fails if run with locale set to tr_TR:

Ugh :-(

> As you can see "I" in "VOID" gets converted to i-dotless in conformance
> to tr_TR Locale conversion rules, which is not an expected behaviour for
> Turkish users who set their locale to tr_TR.

Why is it not expected behavior? The SQL99 spec has not changed from
what it said when we discussed this last year: case conversion of
identifiers is *not* to be done in plain-ASCII rules. Admittedly it
says "unicode" and not "locale", but you'd have the same problem if we
had a full unicode implementation, no?

My feeling is that the best answer is to use lower case names to
reference identifiers in the initdb code. This is not a real pleasant
prospect, but I can't see giving up on spec-compatible case folding ...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Brusser 2003-12-15 20:36:17 conversion_create.sql
Previous Message Bruce Momjian 2003-12-15 19:44:09 Re: [HACKERS] [PATCHES] fork/exec patch