Thank you very much Álvaro, As far as I understood from someone who knows about ;) "...the SQL standard indicates to order according the first column and consider the second column only for those records which first column has identical order values..."
The bug I refer to is that first column is FINALLY ordered for character value -not the order value which the collation requests. "León", "leon", "leOn" has identical order values: none of them weights more for Spanish collation and PG is not working according it if PG makes a "second pass" that ignores collation and reorders by its character value. Best Regards Tulio On Wed, May 16, 2012 at 2:20 PM, Alvaro Herrera <alvhe...@commandprompt.com>wrote: > > Excerpts from tulio.carrasco's message of mar may 15 21:45:00 -0400 2012: > > > In Spanish every vowel has the same precedence value even with or without > > any type of accent, so: a = á = ä = A = Á = Ä > > > In which due dad column has the same value it uses the mum column and if > > they also have the same value then it should use the name column. > > I see your point, and it makes sense, but it just doesn't work that way. > > The way it works is that it goes over the first column and does the two > passes (first ignoring accents, second considering them) over it using > the collating rules you describe; and once that is complete, it goes to > look at the second column. I don't think it's possible at all to > implement what you suggest, which is to make the first pass over all the > columns and then the second pass over all the columns. > > I didn't try, but if you were to do an ORDER BY dad || ' ' || mum ' ' || > name > I think it should do what you want. (Not really sure the spaces are > necessary). Because then you're sorting on a single string and it can > do the first pass on the whole thing and then the second pass. > > -- > Álvaro Herrera <alvhe...@commandprompt.com> > The PostgreSQL Company - Command Prompt, Inc. > PostgreSQL Replication, Consulting, Custom Development, 24x7 support >