lc_collate issue

Поиск
Список
Период
Сортировка
От Cody Pisto
Тема lc_collate issue
Дата
Msg-id 46CF16F9.5020807@rvweb.com
обсуждение исходный текст
Ответы Re: lc_collate issue
Список pgsql-general
Hi All,

I'm looking for any kind of a reason (and potential workarounds), be it
bug or otherwise, why the following two queries produce different
results under a database encoding of UTF8 and lc_collate of en_US.UTF-8:

SELECT x FROM (SELECT 'Something else' AS x UNION SELECT '-SOMETHING
ELSE-' AS x UNION SELECT 'Somethang' AS x) y ORDER BY LOWER(x)

        x
------------------
 Somethang
 -SOMETHING ELSE-
 Something else
(3 rows)


*AND*

SELECT x FROM (SELECT 'Somethingelse' AS x UNION SELECT
'-SOMETHINGELSE-' AS x UNION SELECT 'Somethang' AS x) y ORDER BY LOWER(x)

        x
-----------------
 Somethang
 Somethingelse
 -SOMETHINGELSE-


The removal of spaces from the strings gives "more correct" sorting
results, with the spaces and '-' characters, '-SOMETHING ELSE-' is
strangely sorted in the middle?
It does not matter if you use LOWER or UPPER, and the "problem" does not
occur on databases with encoding SQL_ASCII and lc_collate of C

I have tested this on Postgres 8.1.9, 8.2, 8.2.4 with database encoding
of UTF8 and lc_collate of en_US.UTF8
and on 7.4.16 with database encoding of SQL_ASCII and lc_collate of C

Thank in advance for any consideration!


-Cody


В списке pgsql-general по дате отправления:

Предыдущее
От: Oleg Bartunov
Дата:
Сообщение: Re: Can tsearch do some basic text mining
Следующее
От: "Joshua D. Drake"
Дата:
Сообщение: Re: Out of Memory - 8.2.4