Re: getting 'order by' working with unicode locale? ICU?
От | Hannu Krosing |
---|---|
Тема | Re: getting 'order by' working with unicode locale? ICU? |
Дата | |
Msg-id | 1103706191.12271.3.camel@fuji.krosing.net обсуждение исходный текст |
Ответ на | Re: getting 'order by' working with unicode locale? ICU? (Palle Girgensohn <girgen@pingpong.net>) |
Список | pgsql-hackers |
Ü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 > <peter_e@gmx.net> 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 namelistorder 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
В списке pgsql-hackers по дате отправления: