Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-09 Thread Bruce Momjian

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.origMon 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   [EMAIL PROTECTED]
 
 
 
 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster
 

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

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-09 Thread Peter Eisentraut
Bruce Momjian writes:

 Peter, is that patch OK for 7.3.1?  I am not sure.

Definitely.  It's a bug fix.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-09 Thread Bruce Momjian

Thanks.   Applied for 7.3.1.

---

Peter Eisentraut wrote:
 Bruce Momjian writes:
 
  Peter, is that patch OK for 7.3.1?  I am not sure.
 
 Definitely.  It's a bug fix.
 
 -- 
 Peter Eisentraut   [EMAIL PROTECTED]
 
 
 ---(end of broadcast)---
 TIP 2: you can get off all lists at once with the unregister command
 (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
 

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

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-07 Thread Florian Weimer
Bruce Momjian [EMAIL PROTECTED] writes:

 Are you 64-bit s390?

The patch is for GNU/Linux on S/390 hardware.  This platform is sane
and it uses ASCII.

Only the traditional UNIX subsystem for OS/390 uses EBCDIC.

-- 
Florian Weimer[EMAIL PROTECTED]
University of Stuttgart   http://CERT.Uni-Stuttgart.DE/people/fw/
RUS-CERT  fax +49-711-685-5898

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-06 Thread Florian Weimer
Nicolai Tufar [EMAIL PROTECTED] writes:

 As far as I figured from the source code this function only deals
 with cleaning up locale names and nothing else. Since all the locale
 names are in plain ASCII I think it will be safe to use ASCII-only
 lower-case conversion.

Does PostgreSQL run on the UNIX subsystem of OS/390? ;-)

(EBCDIC is a bit, uhm, strange.  Only the decimal digits are
consecutive the rest is a big mess.)

-- 
Florian Weimer[EMAIL PROTECTED]
University of Stuttgart   http://CERT.Uni-Stuttgart.DE/people/fw/
RUS-CERT  fax +49-711-685-5898

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-05 Thread Peter Eisentraut
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   [EMAIL PROTECTED]




---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-05 Thread Bruce Momjian

OK, Peter, that helps.  Thanks.  I will apply it.

---

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.origMon 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   [EMAIL PROTECTED]
 
 
 
 

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

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [PATCHES] [HACKERS] Patch to make Turks happy.

2002-12-05 Thread Bruce Momjian

OK, patch applied.  Peter, should this appear in 7.3.1 too?

---

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.origMon 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   [EMAIL PROTECTED]
 
 
 
 

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

Index: src/backend/utils/mb/encnames.c
===
RCS file: /cvsroot/pgsql-server/src/backend/utils/mb/encnames.c,v
retrieving revision 1.10
diff -c -c -r1.10 encnames.c
*** src/backend/utils/mb/encnames.c 4 Sep 2002 20:31:31 -   1.10
--- src/backend/utils/mb/encnames.c 5 Dec 2002 23:19:40 -
***
*** 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,418 
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 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly