2008/1/18 Euler Taveira de Oliveira <[EMAIL PROTECTED]>:

> E se eu tenho dois tipos de ordenação aceitos em um idioma? Como eu vou
> dizer para o "COLLATE" qual deles eu quero usar?

Variantes copiando uma definição especializada não podem ser
utilizadas pra isso?

> [lendo a NBR 6033-1989 ...] Do item 3.6.1: "Os símbolos e sinais não
> alfabéticos são ignorados na ordenação, considerando-se a letra ou
> número seguinte."

No documento base (NBR 6033) existe algum detalhe sobre _entradas
complexas_? Não vem ao caso, mas como disse antes, um hífen possui
características completamente diferente da maioria de outros símbolos
em nossa língua. É fato que existe um problema com os dados entrados
na tabela que gerou tal discussão (o que tambem não vem ao caso), mas
tratam-se de identificadores e não de substantivos compostos. É claro
que não existe previsão dessa condição pella ABNT, no entanto não
deixa de ser pertinente, justificando portanto a extensão do pt_BR.

> Então o "locale" pt_BR está ordenando certo. E a resposta a pergunta do
> Luiz é: *não*, os campos com - não vem antes porque eles são desprezados.

Baseado nas normas voce esta certíssimo, ainda que não saibamos qual o
locale utilizado ;-).

> Acho que você não entendeu o problema... Basicamente a dois tipos de
> ordenação aceitos: (i) dicionário -- ignora os caracteres não-letras
> (ii) palavra por palavra -- leva em consideração um conjunto mais
> extenso de caracteres.

Na verdade entendi. Só não tinha conhecimento da ordenação em nossa língua ;-)

> Não se pode mudar de uma hora para outra a
> ordenação (i) que já é utilizada por vários anos! Por isso uma variante
> como [EMAIL PROTECTED] é necessária.

Foi o proposto do e-mail:

<citação user:Leonardo Cezar>
Quem estipula o que a libc deve fazer com os caracteres desprezados é
o COLLATE. A proposta é adaptar regras extendendo ISO-14651 ou i18n
porque me parecem ser definições das quais a maioria dos idiomas
herdam.
</citação>

> Segundo (ii), monteiro *deveria* estar no final e não no meio. Porque é
> assim? Simplesmente porque a definição atual (i), que é aceita também,
> não considera a classe palavra (ii).

Entendi.

Nas próximas versões do postgres conseguiremos escolher o COLLATE por
coluna, assim como no DB2 e em outros SBDs, e com os tipos Nchar e
Nvarchar não teremos mais essas "dores-de-cabeça".

Abraço!

-Leo
-- 
Leonardo Cezar et all
http://www.dextra.com.br/postgres
http://www.postgresql.org.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a