Ühel kenal päeval (laupäev, 18. detsember 2004, 02:41+0100), kirjutas
Palle Girgensohn:
> 
> --On torsdag, december 16, 2004 09.20.50 +0100 Peter Eisentraut 
> <[EMAIL PROTECTED]> wrote:
> 
> > Palle Girgensohn wrote:
> >> Not on FreeBSD, since collation is not implemented in unicode
> >> locales. One way would be to implement it in the OS, of course...
> >
> > Try taking the locale definition files from another system and use
> > localedef to build locale files for your local system.  The localedef
> > source files are supposed to be portable.
> 
> As far as I understand, there is no code in FreeBSD to specify the 
> collating order for multibyte locales. Would ot be easier to fix the OS or 
> hack ICU into PostgreSQL?
> 
> A bit off topic: I'm still dreaming of a way to get "order by" working with 
> different locales for the same database (different clients getting 
> different collation depending on their locale choice). Now this is 
> hardcoded at initdb time. Is there any way this could work, ever, in 
> PostgreSQL, or will I have to sort client side?

I guess you can write a function that returns something client-specific
and sort on that.

select weirdnames
  from namelist
 order by localesort(weirdnames, 'SE');

You can even build and index on localesort(weirdnames, 'SE') to speed
things up for some queries.

And yes, I think using ICU is the right way to do it ;)

------------------
Hannu

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

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to