LC_COLLATE=es_MX in PgSQL 7.3.2

Поиск
Список
Период
Сортировка
От Octavio Alvarez
Тема LC_COLLATE=es_MX in PgSQL 7.3.2
Дата
Msg-id 2264.63.84.67.3.1055374842.squirrel@doogie.ods.org
обсуждение исходный текст
Ответы Re: LC_COLLATE=es_MX in PgSQL 7.3.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: LC_COLLATE=es_MX in PgSQL 7.3.2  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Список pgsql-general
Ohh! Look at this... I think query #4 does not handle the accents
correctly, and it should behave almost like #5 does, except for the record
with p = 'R' which should be at the top (if they were #4's results).

#5 is only shown as a sample. #5 works correctly.

I'm using PGSQL 7.3.2 under Redhat Linux 8.0. The database was initialized
with --lc-collate=es_MX.

1. This is the table:
testdb=# \d t
              Table "public.t"
 Column |         Type          | Modifiers
--------+-----------------------+-----------
 p      | character varying(20) |
 m      | character varying(20) |

2. This is the data:
testdb=# SELECT * FROM t;
 p  |  m
----+------
 ra | ab
 re | cc
 ri | cd
 ré | gg
 ré | zz
 RE | t3
 R  | tÉ3
 RÉ | t3
 RÉ | t4
 RÍ | am4
 Rí | am 5
(11 rows)

3. I think the following is correct:
testdb=# SELECT * FROM t ORDER BY p;
 p  |  m
----+------
 R  | tÉ3
 ra | ab
 re | cc
 RE | t3
 ré | gg
 ré | zz
 RÉ | t3
 RÉ | t4
 ri | cd
 Rí | am 5
 RÍ | am4
(11 rows)

4. The following is NOT correct. Take a look at #5 for the almost-correct
behavior.
testdb=# SELECT * FROM t ORDER BY p, m;
 p  |  m
----+------
 R  | tÉ3
 ra | ab
 re | cc
 RE | t3
 ré | gg
 ré | zz
 RÉ | t3
 RÉ | t4
 ri | cd
 Rí | am 5
 RÍ | am4
(11 rows)

5. The following shows the result somewhat like they should be. Actually,
the "R" alone should be at the beginning (not in this query, but if these
were the results of the previous one. This one is working ok.)
testdb=# SELECT * FROM t ORDER BY p || m;
 p  |  m
----+------
 ra | ab
 re | cc
 ré | gg
 RE | t3
 RÉ | t3
 RÉ | t4
 ré | zz
 RÍ | am4
 Rí | am 5
 ri | cd
 R  | tÉ3
(11 rows)

--
Octavio Alvarez Piza.
E-mail: alvarezp@octavio.ods.org

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

Предыдущее
От: "Maksim Likharev"
Дата:
Сообщение: TABLE FUNCTION, ERROR: WRONG RECORD TYPE IN RETURN NEXT
Следующее
От: "Maksim Likharev"
Дата:
Сообщение: Re: TABLE FUNCTION, ERROR: WRONG RECORD TYPE IN RETURN NEXT