Re: [PATCHES] [pgsql-hackers-win32] initdb problen

2004-03-15 Thread Bruce Momjian

Patch applied.  Thanks.

---


Andrew Dunstan wrote:
 
 
 I believe that the attached patch may solve this setlocale() problem, 
 but I do not have a Windows box handy on which to test it. Can somebody 
 who does please try and let us know the results?
 
 thanks
 
 andrew
 
 
 
 Andrew Dunstan wrote:
 
 the answer is very probably here:
 http://archives.postgresql.org/pgsql-hackers-win32/2003-10/msg00024.php
 
 I thought Bruce said he had this covered, but it hasn't been fixed. I
 will prepare a patch in the next day or so if someone else doesn't beat
 me to it.
 
 cheers
 
 andrew
 
 Korea PostgreSQL Users' Group wrote:
 
   
 
 it works still problem.
 
 setlocale() function is not equivalent between unix and win32
 
 plz check.
 
 multibyte text is not sorted. 
 
 
 - Original Message - 
 From: Claudio Natoli [EMAIL PROTECTED]
 To: 'Korea PostgreSQL Users' Group' [EMAIL PROTECTED]; [EMAIL PROTECTED]
 Sent: Friday, March 12, 2004 5:04 PM
 Subject: RE: [pgsql-hackers-win32] initdb problen
 
 
  
 
 
 
 What if you instead try:
 
 initdb --locale=C
 
 Looks like --no-locale is not equivalent to --locale=C, at least under
 win32.
 
 Cheers,
 Claudio
 
 

 
   
 
 ---(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
 
  
 
 
 
 
 
 ---(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
 
   
 
 

 Index: src/backend/main/main.c
 ===
 RCS file: /projects/cvsroot/pgsql-server/src/backend/main/main.c,v
 retrieving revision 1.75
 diff -c -r1.75 main.c
 *** src/backend/main/main.c   5 Mar 2004 01:11:04 -   1.75
 --- src/backend/main/main.c   12 Mar 2004 16:27:13 -
 ***
 *** 74,79 
 --- 74,83 
   #endif   /* NOPRINTADE */
   #endif   /* __alpha */
   
 + #ifdef WIN32
 + char *env_locale;
 + #endif
 + 
   #if defined(NOFIXADE) || defined(NOPRINTADE)
   
   #if defined(ultrix4)
 ***
 *** 143,150 
 --- 147,176 
* set later during GUC option processing, but we set it here to allow
* startup error messages to be localized.
*/
 + 
 + #ifdef WIN32
 + /* 
 +  * Windows uses codepages rather than the environment, so we work around
 +  * that by querying the environment explicitly first for LC_COLLATE
 +  * and LC_CTYPE. We have to do this because initdb passes those values
 +  * in the environment. If there is nothing there we fall back on the
 +  * codepage.
 +  */
 + 
 + if ((env_locale = getenv(LC_COLLATE)) != NULL)
 + setlocale(LC_COLLATE,env_locale);
 + else
 +   setlocale(LC_COLLATE, );
 + 
 + if ((env_locale = getenv(LC_CTYPE)) != NULL)
 + setlocale(LC_CTYPE,env_locale);
 + else
 +   setlocale(LC_CTYPE, );
 + #else
   setlocale(LC_COLLATE, );
   setlocale(LC_CTYPE, );
 + #endif
 + 
   #ifdef LC_MESSAGES
   setlocale(LC_MESSAGES, );
   #endif

 
 ---(end of broadcast)---
 TIP 5: Have you checked our extensive FAQ?
 
http://www.postgresql.org/docs/faqs/FAQ.html

-- 
  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 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [PATCHES] [pgsql-hackers-win32] initdb problen

2004-03-12 Thread Andrew Dunstan






I believe that the attached patch may solve this setlocale() problem,
but I do not have a Windows box handy on which to test it. Can somebody
who does please try and let us know the results?

thanks

andrew



Andrew Dunstan wrote:

  the answer is very probably here:
http://archives.postgresql.org/pgsql-hackers-win32/2003-10/msg00024.php

I thought Bruce said he had this covered, but it hasn't been fixed. I
will prepare a patch in the next day or so if someone else doesn't beat
me to it.

cheers

andrew

Korea PostgreSQL Users' Group wrote:

  
  
it works still problem.

setlocale() function is not equivalent between unix and win32

plz check.

multibyte text is not sorted. 


- Original Message - 
From: "Claudio Natoli" [EMAIL PROTECTED]
To: "'Korea PostgreSQL Users' Group'" [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Friday, March 12, 2004 5:04 PM
Subject: RE: [pgsql-hackers-win32] initdb problen


 



  What if you instead try:

initdb --locale=C

Looks like "--no-locale" is not "equivalent to --locale=C", at least under
win32.

Cheers,
Claudio


   

  

---(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

 


  
  

---(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

  




Index: src/backend/main/main.c
===
RCS file: /projects/cvsroot/pgsql-server/src/backend/main/main.c,v
retrieving revision 1.75
diff -c -r1.75 main.c
*** src/backend/main/main.c 5 Mar 2004 01:11:04 -   1.75
--- src/backend/main/main.c 12 Mar 2004 16:27:13 -
***
*** 74,79 
--- 74,83 
  #endif   /* NOPRINTADE */
  #endif   /* __alpha */
  
+ #ifdef WIN32
+   char *env_locale;
+ #endif
+ 
  #if defined(NOFIXADE) || defined(NOPRINTADE)
  
  #if defined(ultrix4)
***
*** 143,150 
--- 147,176 
 * set later during GUC option processing, but we set it here to allow
 * startup error messages to be localized.
 */
+ 
+ #ifdef WIN32
+   /* 
+* Windows uses codepages rather than the environment, so we work around
+* that by querying the environment explicitly first for LC_COLLATE
+* and LC_CTYPE. We have to do this because initdb passes those values
+* in the environment. If there is nothing there we fall back on the
+* codepage.
+*/
+ 
+   if ((env_locale = getenv(LC_COLLATE)) != NULL)
+   setlocale(LC_COLLATE,env_locale);
+   else
+ setlocale(LC_COLLATE, );
+ 
+   if ((env_locale = getenv(LC_CTYPE)) != NULL)
+   setlocale(LC_CTYPE,env_locale);
+   else
+ setlocale(LC_CTYPE, );
+ #else
setlocale(LC_COLLATE, );
setlocale(LC_CTYPE, );
+ #endif
+ 
  #ifdef LC_MESSAGES
setlocale(LC_MESSAGES, );
  #endif

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]