Skip site navigation (1) Skip section navigation (2)

Re: initdb problen

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: "Patches (PostgreSQL)" <pgsql-patches(at)postgresql(dot)org>,"Korea PostgreSQL Users' Group" <pgsql-kr(at)postgresql(dot)or(dot)kr>,Claudio Natoli <claudio(dot)natoli(at)memetrics(dot)com>,pgsql-hackers-win32(at)postgresql(dot)org
Subject: Re: initdb problen
Date: 2004-03-14 03:48:00
Message-ID: 200403140348.i2E3m0328631@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers-win32pgsql-patches
Your patch has been added to the PostgreSQL unapplied patches list at:

	http://momjian.postgresql.org/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

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


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" <claudio(dot)natoli(at)memetrics(dot)com>
> >>To: "'Korea PostgreSQL Users' Group'" <pgsql-kr(at)postgresql(dot)or(dot)kr>; <pgsql-hackers-win32(at)postgresql(dot)org>
> >>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 majordomo(at)postgresql(dot)org 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 majordomo(at)postgresql(dot)org 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 -0000	1.75
> --- src/backend/main/main.c	12 Mar 2004 16:27:13 -0000
> ***************
> *** 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
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

In response to

pgsql-patches by date

Next:From: Bruce MomjianDate: 2004-03-14 04:06:42
Subject: Re: libpq thread safety
Previous:From: Bruce MomjianDate: 2004-03-14 03:46:13
Subject: Re: change output of \dp

pgsql-hackers-win32 by date

Next:From: Jan WieckDate: 2004-03-14 04:09:44
Subject: Re: [pgsql-hackers-win32] What's left?
Previous:From: Bruce MomjianDate: 2004-03-14 03:28:59
Subject: Re: Win32 regression test status

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group