Re: WIN32 pg_import_system_collations - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: WIN32 pg_import_system_collations
Date
Msg-id 639e0abd-ea82-b751-bfba-5166a7a1b304@enterprisedb.com
Whole thread Raw
In response to Re: WIN32 pg_import_system_collations  (Dmitry Koval <d.koval@postgrespro.ru>)
Responses Re: WIN32 pg_import_system_collations
List pgsql-hackers
On 24.01.22 22:23, Dmitry Koval wrote:
> +/*
> + * Windows will use hyphens between language and territory, where POSIX
> + * uses an underscore. Simply make it POSIX looking.
> + */
> + hyphen = strchr(localebuf, '-');
> + if (hyphen)
> +    *hyphen = '_';
> 
> After this block modified collation name is used in function
> 
> GetNLSVersionEx(COMPARE_STRING, wide_collcollate, &version)
> 
> (see win32_read_locale() -> CollationFromLocale() -> CollationCreate()
> call). Is it correct to use (wide_collcollate = "en_NZ") instead of
> (wide_collcollate = "en-NZ") in GetNLSVersionEx() function?

I don't really know if this is necessary anyway.  Just create the 
collations with the names that the operating system presents.  There is 
no requirement to make the names match POSIX.

If you want to make them match POSIX for some reason, you can also just 
change the object name but leave the collcollate/collctype fields the 
way they came from the OS.



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Non-decimal integer literals
Next
From: Peter Eisentraut
Date:
Subject: Re: GUC flags