Re: [PATCHES] Patch to make Turks happy. - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [PATCHES] Patch to make Turks happy.
Date
Msg-id 200212091726.gB9HQqi01192@candle.pha.pa.us
Whole thread Raw
In response to Re: [PATCHES] Patch to make Turks happy.  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: [PATCHES] Patch to make Turks happy.  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter, is that patch OK for 7.3.1?  I am not sure.

---------------------------------------------------------------------------

Peter Eisentraut wrote:
> Bruce Momjian writes:
>
> > I am not going to apply this patch because I think it will mess up the
> > handling of other locales.
>
> This patch looks OK to me.  Normally, character set names should use
> identifier case-folding rules anyway, so seems to be a step in the right
> direction.  Much better than saying that users of certain locales can't
> properly use PostgreSQL.
>
> >
> >
> > ---------------------------------------------------------------------------
> >
> > Nicolai Tufar wrote:
> > > Hi,
> > >
> > > Yet another problem with Turkish encoding. clean_encoding_name()
> > > in src/backend/utils/mb/encnames.c uses tolower() to convert locale
> > > names to lower-case. This causes errors if locale name contains
> > > capital "I" and current olcale is Turkish. Some examples:
> > >
> > > aaa=# \l
> > >       List of databases
> > >    Name    | Owner | Encoding
> > > -----------+-------+----------
> > >  aaa       | pgsql | LATIN5
> > >  bbb       | pgsql | LATIN5
> > >  template0 | pgsql | LATIN5
> > >  template1 | pgsql | LATIN5
> > > (4 rows)
> > > aaa=# CREATE DATABASE ccc ENCODING='LATIN5';
> > > ERROR:  LATIN5 is not a valid encoding name
> > > aaa=# \encoding
> > > SQL_ASCII
> > > aaa=# \encoding SQL_ASCII
> > > SQL_ASCII: invalid encoding name or conversion procedure not found
> > > aaa=# \encoding LATIN5
> > > LATIN5: invalid encoding name or conversion procedure not found
> > >
> > >
> > > Patch, is a simple change to use ASCII-only lower-case conversion
> > > instead of locale-dependent tolower()
> > >
> > > Best regards,
> > > Nic.
> > >
> > >
> > >
> > >
> > >
> > >
> > > *** ./src/backend/utils/mb/encnames.c.orig    Mon Dec  2 15:58:49 2002
> > > --- ./src/backend/utils/mb/encnames.c    Mon Dec  2 18:13:23 2002
> > > ***************
> > > *** 407,413 ****
> > >       for (p = key, np = newkey; *p != '\0'; p++)
> > >       {
> > >           if (isalnum((unsigned char) *p))
> > > !             *np++ = tolower((unsigned char) *p);
> > >       }
> > >       *np = '\0';
> > >       return newkey;
> > > --- 407,416 ----
> > >       for (p = key, np = newkey; *p != '\0'; p++)
> > >       {
> > >           if (isalnum((unsigned char) *p))
> > > !             if (*p >= 'A' && *p <= 'Z')
> > > !                 *np++ = *p + 'a' - 'A';
> > > !             else
> > > !                 *np++ = *p;
> > >       }
> > >       *np = '\0';
> > >       return newkey;
> > >
> > >
> > > ---------------------------(end of broadcast)---------------------------
> > > TIP 4: Don't 'kill -9' the postmaster
> > >
> >
> >
>
> --
> Peter Eisentraut   peter_e@gmx.net
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-hackers by date:

Previous
From: "Josh Berkus"
Date:
Subject: Re: [GENERAL] PostgreSQL Global Development Group
Next
From: Peter Eisentraut
Date:
Subject: Re: [PATCHES] Patch to make Turks happy.