Re: Locale-dependent case conversion in {identifier} - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Locale-dependent case conversion in {identifier}
Date
Msg-id 160.1038672139@sss.pgh.pa.us
Whole thread Raw
In response to Re: Locale-dependent case conversion in {identifier}  (Nicolai Tufar <ntufar@apb.com.tr>)
List pgsql-hackers
Nicolai Tufar <ntufar@apb.com.tr> writes:
> Historically programs that operate in Turkish locale have
> chosen to hardcode the capitalisation of "i" in system
> messages and identifier names like this:

> Lower: "I" -> "i" and "Y'" -> "i".
> Upper: "y'"  -> "I" and "i" -> "I".

If that's the behavior you want, why don't you set up a variant locale
definition that does it that way?  That would fix *all* your locale-
dependent programs, not just Postgres ...

> Would it be acceptable if I submit a path that applies this
> special logic in src/backend/parser/scan.l if the locale is "tr_TR"?

It really seems like an inappropriate wart to me :-(

> Because for many folks setting locale to Turkish would
> render their database unusable. For, god forbid, if your
> sql has a column name written in capitlas including "I".
> It is not working.

I am not seeing why this is any worse than the universal problems of
using upper-case letters without double-quoting 'em.  If you
consistently spell the name the same way, you will not have a problem;
if you don't, you might have a problem, but why is it worse than
anyone else's?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Adrian 'Dagurashibanipal' von Bidder
Date:
Subject: Re: eWeek Article
Next
From: Bruce Momjian
Date:
Subject: Re: 7.4 Wishlist